近一年都在处理报表问题,调研了很多报表工具,也开发了适合公司业务的报表应用。分享一些关于如何选择报表工具的我的观点,但愿对你有参考做用。前端
对于大部分企业来讲,能花时间和人力去开发应用来快速解决问题的,确定不会花大钱去购买商业产品。大部分老板会说,怎么又要买软件啦?如今企业日子很差过,能省则省。IT应用不像Excel、PS,网上下道版便可,像报表工具这种是系统,要和业务系统链接,要作接口开发。因此要么是用开源工具去本身研发和组装,要么就是采购一套成熟、稳定的商用产品。java
第一个选择:商用报表产品
目前市场上功能强大,说起率高的两款 Java 报表工具,水晶报表和商业报表。jquery
一、水晶报表的特色web
老牌报表软件,如今收于SAP麾下了。从12版本发布到16版本,如今由于水晶报表为SAP 服务,因此更加注重数据分析,而不注重报表易于设计。sql
① 支持经常使用的数据库 Access, Excel,XML 文件,OLE DB驱动,ODBC 驱动,JDBC 驱动的任意数据库,SalesForce数据等。数据库
② 设计器风格同 Word 编辑器的风格,多了数据源管理等窗口。习惯使用Word编辑器的用户,能够快速上手。设计器只支持一种报表类型,按照区域划分的报表类型,将报表分为不一样的保镖头,页眉详细数据区域,报表尾,页脚。浏览器
③ 水晶报表:提供交叉表控件,OLAP报表控件,能够建立于Excel 中相似的单维度和多维度数据透视表。但灵活性不强,只能建立单表头的数据透视表。没法修改或添加总计,汇总公式,或是自定义单元格合并。更没法支持中国复杂报表的表角斜线及无规则的单元格合并。网络
④ 报表需求不管变化多么微小,都须要在修改后从新编译部署整个项目,因此在后期维护成本是很是大的,而且没有单独的设计器提供给最终用户新增报表。编辑器
⑤ 由于如今属于SAP 公司下的报表工具,在国内没有专门的技术服务团队,相关资料以及服务支持是英文的。所以可能在寻找技术支持过程当中会比较耗费时间。并且没法经过直接的沟通来解决,如电话,会议,现场培训等。另外官方网站也是在国外,由于网络问题,件我折腾了10多个小时。工具
二、帆软报表的特色
①是一款纯Java编写的设计复杂的中国式报表,拖拽式操做替代写代码,搭建数据决策分析系统上手简单,不懂代码只需写SQL也能够经过类excel设计器制做出报表。
②支持经常使用关系型数据库包括Oracle、sql sever、DB二、My SQL等,还有Essbase、ssas、sap数据集、hadoop大数据平台。
③普通报表、决策报表、聚合报表,基本覆盖明细/分组/交叉/分页/分栏树报表、可视化dashboard、大屏、复杂中国式大聚合报表。报表制做底子很成熟,功能强大,覆盖的行业广,基本能知足全部的报表需求。
④报表页面美观、炫酷,可基于插件方式进行定制,也一直在培育众包市场。
⑤售后作的挺好,QQ客服反馈快,文档和社区作的还能够,有各类围绕数据的课程培训,基本都免费
⑥功能作的太细,有些功能点显得比较死板。好比,须要页眉页脚高度不统1、须要较小行间距、单元格字体自动缩放...
⑦性价比还能够,了解过大概,围绕功能模块几万~几十万不等。
第二个选择:自研
自研复杂的报表工具,一类是使用现成的开源报表工具如JasperReport 、OpenReport,但会遇到一些难题,如:打印报表;复杂的数据计算;复杂格式的报表展现;页面、打印、导出word、pdf、excel格式一致性;图表...
另外一类是使用一些java组件进行组合开发,好比前端图表库、pdf 操做组件库......
一、Java报表引擎
JasperReports,配合设计器ireport使用。不是类Excel的格子设计,而是画报表,表头、页头、列头,用了几天,仍是不能接受这种操做思惟,见仁见智吧。使用方面和帆软比是不如它强大,不能导Excel,一般状况下只用来导PDF,但在大多数状况下仍是能知足需求的,毕竟免费的不能要求过高哈。
EasyReport、ureport,一样也是开源的web端设计报表工具,能够参考部分功能实现,资料不是不少,我也没尝试,就是了解下。
而后介绍一些开源的组件库,报表开发基本是哪一个拥抱报表引擎、前段图标、打印导出发邮件等空间,下面就不具体介绍,罗列一下,源码和工具在GitHub上都能搜到。
二、图表前端库
- ECharts
- Highcharts
- D3
三、Java office、pdf 操做组件库
- Apache POI
- JXL
- iText
- OpenOffice
- PDFBox
- jquery.table2excel.js
四、打印方式
浏览器自带打印及其js控件,较难干预样式,连续打印、页眉页脚,分页等存在问题
pdf流打印,须要下载adobe插件
ActiveX,java类报表工具基本不用
Applet打印,依赖jre
总结:
国内市面上还有不少报表工具,如:RDP报表、ActiveReports、简表、杰表等均可以去调研下是否适合本身业务。
国外有不少报表工具不作推荐,由于上手困难,遇到问题处理基本找不到资料,不适合中国式报表。
自研报表工具须要投入很多人力和时间去研究的,就看你时间多仍是人力多仍是愿意花钱解决了,单纯从工具层面角度,仍是商用报表好用的,有问题也能找到人帮助。