Java 报表工具选择
近一年处理了些报表问题,调研不少报表工具,也开发了适合公司业务的报表工具。分享一些关于如何选择Java 报表工具的个人观点,希望对你有参考作用。
对于企业来说,花钱就能快速解决的问题,肯定不会自己花时间、人力去研发和维护一套产品,除非不得已。企业首选是购买一款成熟、稳定的商用产品。现有的商用产品满足不了需求,才会考虑去研发报表工具。
第一个选择:商用报表产品
目前市场上功能强大,占有率高的两款 Java 报表工具,帆软报表和润乾报表。
帆软报表的特点
- 功能强大,覆盖的行业广,基本能满足所有的报表需求
- 报表页面美观、炫酷
- 可基于插件方式进行定制,也一直在培育众包市场
- 售后做的挺好,QQ客服反馈快
- 文档和社区做的还可以
- 上手简单,不懂代码也可以通过类excel设计器制作出报表
- 价格贵,几万 ~ 几十万
- 功能做的太细,有些功能点显得比较死板。比如,需要页眉页脚高度不统一、需要较小行间距、单元格字体自动缩放...
- 较耗内存
润乾报表特点
- 价格相对便宜,性价比高
- 感觉售前、售后一般(今天特意在官网咨询了下使用问题,提示人不在,联系销售)
- 对类excel操作支持更友好
- 性能和并发处理更优,擅长大容量复杂报表
- 美观、图表有待加强
- 入门难度略大
总结:帆软简单易用,无需开发也可以制作出报表,页面美观,API丰富,但价格较贵,适合现场运维人员根据需求直接制作报表;润乾门槛高,页面没那么美观,性能更优,性价比高,适合有专业报表团队处理复杂报表。
第二个选择:自研
自研复杂的报表工具,会遇到一些难题。如:打印报表;复杂的数据计算;复杂格式的报表展示;页面、打印、导出word、pdf、excel格式一致性;图表...
Java报表引擎
- JasperReports,配合设计器ireport使用。但资料较少,出了问题难查找,设计器调整报表格式麻烦。
- EasyReport、ureport,开源的web端设计报表工具,可以参考部分功能实现。
图表前端库
- ECharts
- Highcharts
- D3
Java office、pdf 操作组件库
- Apache POI
- JXL
- iText
- OpenOffice
- PDFBox
- jquery.table2excel.js
打印方式
- 浏览器自带打印及其js控件,较难干预样式,连续打印、页眉页脚,分页等存在问题
- pdf流打印,需要下载adobe插件
- ActiveX,java类报表工具基本不用
- Applet打印,依赖jre
总结:自研报表工具坑很多,需要投入很大人力。
PS
国内市面上还有很多报表工具,如:RDP报表、SMARTBI SPREADSHEET、Crystal Reports、ActiveReports、简表、杰表等都可以去调研下是否适合自己业务。
国外有很多报表工具不做推荐,因为上手困难,遇到问题处理基本找不到资料,不适合中国式报表。