时间:2021-05-19
一个朋友的项目里用到了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太丑了。但是这个方法是目前能想到最合适的方法了。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言Go语言比Java语言性能优越的一个原因,就是轻量级线程Goroutines(协程Coroutine)。本篇文章深入分析下Java的线程和Go的协程。协程是
在“基于java内部类作用的深入分析”中你可以了解java内部类的一些东西,不过内部类中还有一些地方值得我们细心研究...下面是我总结出来的java内部类的一些
JFR如果要深入分析问题,可以选择使用内置的Java飞行记录器:JavaMissionControl。转储JFR需要三步:1.创建一个包含了你自己配置的JFR模
Swagger是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。本文简单介绍了在项目中集成swagger的方法和一些常见问题。如果想深入分析项目源码
Android中pendingIntent的深入分析pendingIntent字面意义:等待的,未决定的Intent。要得到一个pendingIntent对象,