java/word+fusionchart生成图表深入分析
作者:互联网
2025-08-05
一个朋友的项目里用到了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太丑了。但是这个方法是目前能想到最合适的方法了。
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
【从0到1构建一个ClaudeAgent】并发-后台任务
MyBatis、MyBatis-Plus、JPA、MyBatisGX 写法比较:同一个需求,四种解法
java2AI系列:SpringAI 通过 Function Calling 接入外部系统
Java 通用树形结构构建与解析工具类解析
深度剖析:Java 并发三大量难题 —— 死锁、活锁、饥饿全解
别再重复造轮子了!SpringBoot对接第三方系统模板,拿来即用
Spring AI 核心原理解析:基于 1.1.4 版本拆解底层架构
华为 IODT 设备接入
自定义跨字段校验必填注解
别再System.out了!这份SpringBoot日志优雅指南,让你告别日志混乱
AI精选
