文章来源:比特网
本文链接:http://news.chinabyte.com/303/9117803.shtml
Java报表软件应用在java应用项目中,能嵌入式的将java报表工具部署到java应用中,能共享应用服务器连接池,利用应用服务负责均衡和集群特性。因此java报表软件成为java应用项目中首选。
下面列举三种主流java报表软件:
帆软(FineReport):FineReport报表是一款集数据展示(报表)和数据录入(表单)功能于一身,针对软件开发商和系统集成商,用于快速构建企业信息系统的纯java报表软件。厂商为南京帆软软件有限公司。
润乾(RAQ): 润乾报表系统是领先的企业级报表分析软件。它提供了高效的报表设计方案、强大的报表展现能力、灵活的部署机制,并且具备强有力的填报功能,厂商为北京润乾信息系统技术有限公司。
jasperreport:jasperreport是一个能够创建复杂报表的开源项目,报表设计为IReport。本身是分布式的且由符合GNU通用公共许可的百分之百纯java报表软件。厂商为JasperSoft公司。
下面从几个方面来考察这三个java报表软件:
主流java报表软件之多数据源比较:
由于中国式复杂报表经常需要将不同数据库表中数据展现在一张报表中,传统工具处理方式只能用子报表或者拼SQL语句来解决问题,这种方案不断工作量大,而且有些报表根本做不出来。所以是否支持多数据源是考察java报表软件一个非常重要标准。
jasperreport:由于采用传统条状模型,只支持单数据源,需要从多个数据表中取数据情况只能使用子报表,负责SQL语句或者程序来实现。
帆软报表(FineReport):支持从一个数据库中不同数据库表或者不同数据库中不同数据库表的数据取出来展现在一张报表上。
润乾报表:支持从一个数据库中不同数据库表中取数展现在一张报表软件上。
主流java报表软件之填报比较:
一个完整信息系统中有两个非常重要的两块:数据展现和数据录入。以往两个模块是独立两个产品,现在越来越需要一个报表软件能融合这两个功能。
Jasperreport:此款java报表软件支持数据展现,不知道有什么方法可以将数据库回填到数据库中。
帆软报表(FineReport):同一个模板通过不同参数可控制是用于展现还是填报,支持零客户端录入,支持数据校验,支持多源填报,支持多源填报表数据的删除行和添加行支持bs端自动计算,支持多sheet填报。
润乾报表:同一个模板只能由于展现或者填报,支持零客户端录入,支持数据校验,支持多源填报,不支持多源填报表数据的删除行和添加行,bs端自动计算速度慢,不支持多sheet填报,需要用填报组来间接实现。
主流java报表软件之设计器实现比较:
互联网上文章对java报表设计器分析更多是从设计器布局分析,把设计器分为:基于控件拖放的设计模式和基于类似Excel电子表格的设计模式。
本文从java报表软件设计器实现角度来看。
jasperreport:jasperreport的设计器叫IReport,从2.0版本以后,设计器基于netbeans开发,设计器五十M,以拖拽控件到画布上为主。
帆软报表(FineReport):用java中Swing来实现,设计器大约在70M左右,支持三层结构的设计模式,不仅形似而且神似excel。应该是中国市场上制表效率最高的报表软件,容易对报表设计器进行二次开发。
润乾报表: 用java中Swing来实现,设计器大约在一百M,形似Excel,报表制作以书写表单式为主,在不能熟悉表达式写法情况下,制表效率难有图片。基本难对设计器进行二次改造。
主流java报表软件之图表比较:
在常见数据统计分析过程中,往往需要图表结合。所以图表在java报表软件中也非常重要。
jasperreport:jasperreport使用jfreechart作为其图表引擎,支持图表上钻取。支持统计图表题,支持Pie,Pie 3D,Bar,Bar 3D,XY Bar,Stacked Bar,Stacked Bar 3D,Line,XY Line,Area,XY Area,Scatter Plot,Bubble,Time Series,High Low Open Close和Candlestick 多种类型图表。
帆软报表(FineReport):自主开发图表引擎的java报表软件,支持图表上钻取。支持动态和静态统计图表题,图表背景可以使用颜色和图片,绘图区背景颜色可以交替绘制,可以调整折线图折点调剂性状和大小。支持仪表盘、雷达图、双轴柱线图、饼图、柱图、线图等图。
润乾报表:自主开发图表引擎java报表软件,支持图表上钻取。支持静态统计图表题,图表背景可以使用颜色,绘图区背景颜色只能设置颜色,可以调整折线图折点有圆形和方形两种,不能调整大小。支持仪表盘、雷达图、双轴柱线图、饼图、柱图、线图等图。
主流java报表软件之设计调整比较:
任何报表用写程序肯定是能解决的,报表工具就是为了加快报表开发速度,所以报表设计器设计效率非常关键。下面就分开介绍一下三款java报表工具在设计模式上的区别。
jasperreport:可视化制表模式,制表界面为条带填入式,生成的模板文件为XML文件;不支持EXCEL模板导入;格式对齐非常困难;对字体等其他格式的调整也非常麻烦;表格中的表达式不能随着行列变化而实现自动调整;最终导出excel。
帆软报表(FineReport):类excel的表格式设计模式;支持EXCEL的无缝导入导出;插入、删除行列后,单元格的表达式、数据集绑定关系自动变化,不需要手工修改;支持导入多sheet的excel文件为一个报表模板;报表编辑区域默认无限行和无限列;支持SUM(A1:A2)这样的拖动复制。
润乾报表:类excel的表格式设计模式,行列对齐非常容易;支持excel导入导出;插入、删除行列后,单元格的表达式、数据集绑定关系自动变化,不需要手工修改;多sheet的excel只能导成多个模板。不支持SUM(A1:A2)这样的拖动复制,需要重新写公式。
主流java报表软件之批量打印比较:
虽然java报表可以在电脑显示屏上展示,但许多时候更需要纸张的直观展示分析,这就考验了java报表软件的打印功能,java报表离不开打印,打印就少不了要批量。
Jasperreport:有批量报表打印功能,但一般需要通过专门的编程实现批量打印;一些较简单的分片式打印能通过主子表实现;不能自动适应纸张大小;不支持分栏打印;不支持一纸多页打印;不支持末页补足空行;不支持缩放;支持纵向分页,不支持横向分页。
帆软报表(FineReport):本身支持任何语言的批量打印调用 ,可以给每个报表提供每个报表可以传递不同的参数;客户端能记忆打印设置;能自动适应纸张大小,自动适应打印机的打印方向;支持上表头、左表头,下表尾,右表尾的每页重复;支持按组强制分页;支持固定行数强制分页,支持横/纵向分页打印; 支持分栏打印。支持Applet,PDF,Flash多种web打印方式。
润乾报表:支持java批量打印方法,主子表、报表组和调用批量打印类包;持横/纵向分页;支持支持强制分页;支持小票据的一纸多页;支持末页补足空行;支持缩印;支持打印前修改数据等多种中国报表特有的打印需求;只有Applet一种成熟的报表打印方案。