广

Java编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    java/word+fusionchart生成图表深入分析

    2018-11-02 13:12:22 次阅读 稿源:互联网
    零七广告
    一个朋友的项目里用到了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太丑了。但是这个方法是目前能想到最合适的方法了。

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告