公司结算系统要做一个内部报表,想自己开发,调研了市面上一圈报表,快把github翻烂了,也没找到一个合适的。
之前给做过一个自定义sql查询的,但最终是因为系统太过复杂,导致最终sql复杂到没法写了,而且超级大的sql,特别不好维护。
现在把之前的调研结果分享出来,希望后人少走弯路。
收费的:
- 帆软报表目前市场占有率好像最高,功能较为齐全,适应大多数行业的功能,
价格较贵,基础版价格:80000元/服务器,高级版价格:500000/服务器
软件下载地址:http://www.finereport.com/products/trial
集成文档:https://www.cnblogs.com/liubo68/p/10212517.html - 润乾报表传统报表的代表,功能也比较强大,展示方面略显不足,整体美观度差一些
也有初级免费版:http://c.raqsoft.com.cn/article/1543913283529 商用最便宜
软件下载地址:http://www.runqian.com.cn/
demo演示:http://report5.raqsoft.com.cn/
帆软简单易用,无需开发也可以制作出报表,页面美观,API丰富,但价格较贵,适合现场运维人员根据需求直接制作报表;
润乾门槛高,页面没那么美观,性能更优,性价比高,适合有专业报表团队处理复杂报表。
免费的:
- iReport +JasperReports是一个开源报表,功能较单一,使用略微繁琐,展现美观度较差。唯一优势可以自己改造。
软件下载地址:http://www.open-open.com/ JasperReport官方页:
http://community.jaspersoft.com iReport
官方页:http://community.jaspersoft.com/project/ireport-designer
JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。
iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器采用纯Java开发。这个工具允许用户可视化编辑包含charts,图片,子报表等的复杂报表。
但资料较少,出了问题难查找,设计器调整报表格式麻烦。 - JFreeChart 是一款易于扩展的纯Java编写绘图图库,
使用它可以生成线图、柱状图、饼图、曲线图、面积图、甘特图、仪表盘、混合图等多种图表,并可将图表输出为PNG、JPEG图片。
JFreeChart官方页:http://www.jfree.org 英文的,社区不稳定 - BIRT 是基于 Eclipse 的一款开源报表,创建数据的可视化和报表,可以嵌入到富客户和Web应用程序。
BIRT主要由两部分组成:一个用于创建BIRT设计的可视化报表设计器,以及可以部署到任何java环境运行时组件。BIRT项目还包括一个图表引擎,可集成到BIRT的一个应用程序图表。
BIRT官方页:http://www.eclipse.org/birt 开源免费 英文的,汉化包不稳定,pass - RDP报表工具是一款基于java web实现的报表工具,是唯一一款通过web页面设计报表的工具,感觉挺新颖的,功能性和报表
的展现美观度还不错。商用免费的一款报表工具。 软件下载地址:http://product.mftcc.cn/rdp/
excel既视感,pass - EasyReport 项目简介:EasyReport 是一个简单易用的 Web 报表工具,它的主要功能是把 SQL
语句查询出的行列结构转换成 HTML 表格(Table),并支持表格的跨行(RowSpan)与跨列(ColSpan)。
同时它还支持报表 Excel 导出、图表显示及固定表头与左边列的功能。
项目地址:https://gitee.com/xianrendzw/EasyReport 只有表格,没有图表,pass - UReport2项目简介:UReport2 是一款高性能的架构在 Spring 之上纯 Java
报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。 在 UReport2 中,提供了全新的基于网页的报表设计器,可以在
Chrome、Firefox、Edge 等各种主流浏览器运行(IE浏览器除外),打开浏览器即可完成各种复杂报表的设计制作。
项目地址:https://gitee.com/youseries/ureport 纯表格,pass - CBoard项目简介:CBoard 由上海楚果信息技术有限公司主导开源, 它不仅仅是一款自助BI数据分析产品,
还是开放的BI产品开发平台: 用户只需简单妥妥拽拽就能自助完成数据多维分析与报表设计
开发者能够简单扩展连接所有你的Java程序能够触及的数据 项目地址:https://gitee.com/tuiqiao/CBoard
纯java,tomcat启动,没有前后端分离,pass - Reportico项目简介:Reportico
是一个报表设计工具,可用来设计报表、创建报表菜单和配置,支持图形、分组、下钻、表达式处理和数据转换,可导出 HTML、PDF 和 CSV
格式,可通过 CSS 修改报表外观。 项目地址:https://gitee.com/luob/reportico
php搞的,pass - 用 Vue 撸的数据可视化后台(前台根据选项,拼成查询sql,数据权限可以通过重写后端实现,包括功能权限)
https://www.v2ex.com/t/575324 https://vislib.best/
https://docs.vislib.best/
https://github.com/dongsuo/vue-data-board - http://boot.jeecg.com Jeecg-boot
一个全新的版本,采用前后端分离方案,提供强大代码生成器的快速开发平台
前端页面代码和后端功能代码一键生成,不需要写任何代码,保持jeecg一贯的强大!! - granafa
https://grafana.com/docs/grafana/latest/features/navigation-links/
带参数链接 - sqlpad npm install sqlpad -g sqlpad --dbPath
D:\Users\curry.zhang\others\db --port 3010 --debug --baseUrl
/sqlpad - https://github.com/lycodestore/dbhelper mysql图形管理工具,采用Springboot
2.1.6和Vue 2.6.10开发,以可视化的方式完成mysql的增删改查等操作 采用Springboot + Vue开发的mysql可视化管理工具,使用它可以用图形界面完成增删查改等常用的数据库操作。
看看源码,其实很简单,后台就是一个jdbc的查询,把数据库连接放在cookie中,前端vue
方案
方案1:
https://vislib.best/
前端嵌入源码(也是vue),后端重写接口
方案2:
搭一个granafa服务
系统使用granafa外链,数据权限用链接参数
方案3:
http://boot.jeecg.com/online/cgform
系统相对复杂,所以提炼报表功能,相对会复杂
方案4:
纯手写,精简版
前端: 创建图表(图表name,执行sql模板,表头信息,排序等),只有管理员可配置查询条件,配置数据存后端一个表中查看图表,调后端sql执行接口,获取数据,根据图表配置信息渲染。
后端:图表增删改查接口。执行接口:入参sql,出参dataList。
参考:
- 总结5个比较好用的JAVA报表工具:https://blog.csdn.net/n15642656987/article/details/80833233
- BIRT报表VS润乾报表之初体验:https://blog.csdn.net/rqlyc/article/details/85048072
- Java 报表工具选择:https://blog.csdn.net/meism5/article/details/89684487
- 6款实用开源报表工具:https://blog.csdn.net/weixin_34303897/article/details/89618117
- 推荐几款流行的开源报表工具:http://www.anyrt.com/blog/sourcereport.html
- 报表开发专题:https://www.evget.com/topic/13
- 人人都在找的一款免费JavaWeb报表工具(RDP报表):https://blog.csdn.net/weixin_44829859/article/details/88795037