java/word+fusionchart生成图表
2012-11-19 17:57
211 查看
一个朋友的项目里用到了fusionchart,同时需要提供多个报表的word下载功能。
毫无疑问,只是一个很棘手的问题。
fusionchart提供了服务端和客户端生成图片的功能,都是基于client端展示了flash以后做的。
朋友的项目是基于linux的,office本身的那套com机制是没办法通过jacob调用了。
纯java的操作word,POI和docx4j,可以生成word文档,table,插入图片。
一个可行的思路是点击下载报表时,先在一个新页面打开各个flash的图表,再依次调用fusoinchart的功能在服务器端生成图片,
最后js再调用servlet生成doc,同时把上一步生成的各个图片插入到文档内。
这个曲线救国的策略性能非常低下。
第二个想法是直接在word中插入flash,作为ole到word中的形式,同时跟其他内容混排。这个方式应该性能应该是ok的,由word打开后去实时渲染flash。
但是发现word如果使用OLE doc的方式,不能使用HWPF了,只能自己一点点的拼BIFF文件,这实在不好做,而且还不知道OLE进去了能不能展示。
放弃之。PS:发现WSPH处理ppt的功能里有对ActiveX的简单支持。。。我去。。
第三个想法是拿到生成chart的数据,直接用office的图表功能,可惜的是发现HWPF里没有这功能,HSSF处理excel的功能里才有。
最后一个方法比较简单可行,性能尚可,后台用jfreechart生成图片,然后生成word文档。
坏处是,图表风格跟fusion不一致。jfree太丑了。但是这个方法是目前能想到最合适的方法了。
毫无疑问,只是一个很棘手的问题。
fusionchart提供了服务端和客户端生成图片的功能,都是基于client端展示了flash以后做的。
朋友的项目是基于linux的,office本身的那套com机制是没办法通过jacob调用了。
纯java的操作word,POI和docx4j,可以生成word文档,table,插入图片。
一个可行的思路是点击下载报表时,先在一个新页面打开各个flash的图表,再依次调用fusoinchart的功能在服务器端生成图片,
最后js再调用servlet生成doc,同时把上一步生成的各个图片插入到文档内。
这个曲线救国的策略性能非常低下。
第二个想法是直接在word中插入flash,作为ole到word中的形式,同时跟其他内容混排。这个方式应该性能应该是ok的,由word打开后去实时渲染flash。
但是发现word如果使用OLE doc的方式,不能使用HWPF了,只能自己一点点的拼BIFF文件,这实在不好做,而且还不知道OLE进去了能不能展示。
放弃之。PS:发现WSPH处理ppt的功能里有对ActiveX的简单支持。。。我去。。
第三个想法是拿到生成chart的数据,直接用office的图表功能,可惜的是发现HWPF里没有这功能,HSSF处理excel的功能里才有。
最后一个方法比较简单可行,性能尚可,后台用jfreechart生成图片,然后生成word文档。
坏处是,图表风格跟fusion不一致。jfree太丑了。但是这个方法是目前能想到最合适的方法了。
相关文章推荐
- java/word+fusionchart生成图表深入分析
- JAVA生成WORD文件的方案
- JAVA生成Word文档(经过测试)
- Java用模板生成word
- java生成复杂word文档
- Java生成word/pdf解决方案
- FusionChart图表控件点击事件
- JAVA生成word的几种方法对比
- 非正规打法搞定C#动态生成 Word图表 (MSGraph)
- java生成word文档【一】
- FusionChart 复杂类型图表
- fusioncharts生成的图表遮挡了弹出页面问题
- ASP.net 使用(动态的有动画效果的)生成图表工具 Fusion Charts
- JAVA桌面图表控件Chart FX for Java Desktop
- Java爬取B站弹幕 —— Python云图Wordcloud生成弹幕词云
- 工作汇报神技!用Python三步生成带有图表的word报表
- Java生成 Word文档的并打印解决方案
- Java使用iText生成word文件的完美解决方案(亲测可行)
- 在.NET中不安装Office使用EPPlus生成带图表(Chart)的Excel报表