java/word+fusionchart生成图表

一个朋友的项目里用到了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太丑了。但是这个方法是目前能想到最合适的方法了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kimmking

赠人玫瑰手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值