欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

选开源报表开发还是商用?2020报表软件产品整理

程序员文章站 2022-04-14 16:32:36
开源报表却越来越受到程序员热烈追捧,如ireport、 Jsper report、jfreechart这样的免费,开源的JAVA报表工具,在一下开源的JAVA报表相关的论坛里面都是热火朝天,发问者众多。发现都会有利有弊,近因为公司需求的原因,我上网查找了好多报表工具和试用体验,下面是我向大家推荐5个 ......

开源报表却越来越受到程序员热烈追捧,如ireport、 jsper report、jfreechart这样的免费,开源的java报表工具,在一下开源的java报表相关的论坛里面都是热火朝天,发问者众多。发现都会有利有弊,近因为公司需求的原因,我上网查找了好多报表工具和试用体验,下面是我向大家推荐5个开源报表工具。

1.ireport

ireport是为jasperreports设计的强大的,直观的,易于使用的可视化报表设计器,用visual j++为win32平台编写。ireport允许用户可视化地编辑xml jasperdesign文件,可以和其它数据库通过jdbc通信。在设计模板时可以以html、excel、pdf等多种方式进行预览;用它生成的文件有.jrxml、.jasper两种文件,其中.jrxml就是我们设计时可视化编辑的xml文件,.jasper是经过编译.jrxml后生成的类文件,也就是我们最终在项目中用的报表模板文件。

ireport 官方页://community.jaspersoft.com/project/ireport-designer

2. jasperreport

jasperreports是一个基于java的开源报表工具,基于gpl开源许可协议, 完全采用java编写, 支持多种数据源,可打印或导出多种文件格式,支持pdf、html、xls、csv和xml文件输出格式。jasperreports是当前java开发者最常用的报表工具。

jasperreport也包含多个组件:

  • jasperreports library 开源报表引擎库
  • jasperreports server 是一个独立可嵌入的报表服务器,对数据进行分析和提供定时任务服务。
  • jaspersoft studio 是基于eclipse的报表设计器,它能创建包含图表、图像、子报表、交叉表等复杂的报表。数据源可以是javabeans,xml,csv hibernate。
  • jaspersoft etl 是易于部署和执行的开源etl系统, 创建一个综合的数据仓库和数据集。

jasperreport官方页: http://community.jaspersoft.com

选开源报表开发还是商用?2020报表软件产品整理

ireport是为jasperreports设计的强大的,直观的,易于使用的可视化报表设计器,采用纯java开发。这个工具允许用户可视化编辑包含charts,图片,子报表等的复杂报表。

3、jfreechart

jfreechart 是一款易于扩展的纯java编写绘图图库, 使用它可以生成线图、柱状图、饼图、曲线图、面积图、甘特图、仪表盘、混合图等多种图表,并可将图表输出为png、jpeg图片。

  • 稳定、轻量级,支持多种图表类型
  • 一个灵活的设计,很容易扩展,并应用于服务器端和客户端的应用程序
  • 支持多种输出类型,包括swing组件和javafx组件、图像文件(包括png和jpeg)和矢量图形文件格式(包括pdf、eps和svg)
  • jfreechart是开源的,基于gnu通用公共许可证 (lgpl)开源许可协议

jfreechart官方页:http://www.jfree.org

选开源报表开发还是商用?2020报表软件产品整理

这里要强调的是:ireport-0.5.0中集成了jasperreports-0.6.7、jfreechart-0.9.21,所以用irepot-0.5.0就完全可以开发报表了,但在ireport中进行图形统计报表的开发没有采用,而是直接引用其组件包进行自己手写类来开发的(因为对图形统计图的开发ireport支持的并不好)

4、pentaho

pentaho将你所有的数据转变成有意义的信息,为您设计pentaho报表,一套开源的工具,允许你创建完美的报表,支持输出excel、pdf、html、文本、富文本文件,xml和csv,生成的报表可以很容易地从各种来源提炼成可读的数据。

pentaho报表的开发是通过创建一个灵活且简单易用的报表引擎。这是一套开源工具,包括report designer、reporting engine和reporting sdk。

pentaho report官方页: http://community.pentaho.com/projects/reporting

选开源报表开发还是商用?2020报表软件产品整理

5、birt

birt 是基于 eclipse 的一款开源报表,创建数据的可视化和报表,可以嵌入到富客户和web应用程序。

birt主要由两部分组成:一个用于创建birt设计的可视化报表设计器,以及可以部署到任何java环境运行时组件。birt项目还包括一个图表引擎,可集成到birt的一个应用程序图表。

birt设计模板保存为xml,可以访问多个不同的数据源包括jdo数据存储,jfire脚本对象、pojos、sql数据库、web服务和xml。

birt官方页:http://www.eclipse.org/birt

报表方面目前测试做些简单的行式、分组交叉类报表还比较容易,稍微复杂点可能做起来有点麻烦(比如多数据集取数方面有点没搞懂,还未测试),这点实际和没有完善的学习文档有关,不方面查找。

统计图方面,常用的柱图、饼图、折线都提供,但其他的种类就相对少了,另外图形有点老,看着不够高大上,只能说有此功能了。

补充一点,本人是作为一个开发人员来测试birt,对eclipse熟悉,所以上手感觉还可以,但对于只是有sql基础、简单了解java或jsp开发的就来搞birt的话,还是会有很多问题。 ps:这个就看领导们安排什么水平的员工来开发报表了。

选开源报表开发还是商用?2020报表软件产品整理

以上是常用的 java 开源报表开发软件,之所有选择它们是因为有专业的报表软件、纯java的、有专业论坛提供大家资源分享、免费(这是最重要的)、用起来更为灵活。综上所述决定性因素只有应该:免费、灵活。

那么报表软件,到底免费与收费孰优孰劣?

首先,免费的java报表开发能给我们带来什么?答案显而易见:拥有了一定可用性的报表软件;开源的代码能够拥有灵活的可定制能力和完全的控制;最重要的是免费。但是开源工具都有个通病,就是开发和维护成本比较大,如果你企业想上报表工具,怎么也得招/培养2、3个开发人,而且学习资料多为英文。而且jsper report、ireport的所有帮助文档是收费的,文档倒是相当细致,需要花大量的时间阅读。这才明白:所谓开源不可能真的有人那么无聊为人民服务,说白了还是要挣钱的,否则产品的后续研发怎么办?

而且jsper report、ireport的制表能力实在一般,老外的东西,本质上就不符合咱的报表习惯,报表似乎就该这么做,做不出来的报表似乎就应该写程序、写代码,最后用工具的结果还是去写代码,还不如不用呢。

另外,在论坛里,像“请教高手某某问题如何解决”这类的帖子比比皆是。首先解决问题的时效性不高,需要等待不能即时被答复,而且也不一定有人能遇到过同样的问题,并愿意热心帮你解决,这时就会干着急,希望有人技术支持一下。其实仔细算算,花在这些问题上的时间成本、人工成本,还不如买一个收费的工具?

选择收费的报表软件

首先在你有问题的时候能找专业的java报表厂商支持你,不用在论坛里发些的不一定有准确答复的求问贴了,更有甚者可以叫厂商直接帮你做部分表。做事是讲究效率的,与其浪费时间去自学开源工具的文档,还不如边学边做不懂就直接问报表工具厂商。这样能更顺利高效的完成项目。

我以前的公司做项目时老板就是不肯花钱,以为是省钱,结果,由于不能及时完成折了好几个项目。所以,再碰上选择报表软件的时候,一定不要怕跟老板倾诉: 报表制作其实是很专业的的活,花钱买一个工具比用开源工具划算。

下面的商业报表工具,其实成本算下来也无差,产品提供部署服务,可以走项目,后期还有技术维护。

商用报表工具:

1、xjr快速开发平台报表工具

使用多年钻坚研微的成熟稳定的第三方插件,提供大量标准报表模板,已经集成在开发平台内不需要再做整合,满足各行业不同的需要。使用简单,会数据库就可以用。不需要再出报表授权费用。

选开源报表开发还是商用?2020报表软件产品整理

还有就是xjr快速开发平台融合了时下最实用的web及互联网应用技术,集成多类业务场景。面向服务/接口设计,可轻松集成或集成到外部系统,轻松整合企业现有资源。

价格平民,功能实用,符合中国国情的报表需求;

开发上手快,不需要专业人员,会数据库就可以用。

官方页: https://www.xjrsoft.com/

选开源报表开发还是商用?2020报表软件产品整理

2、帆软报表

功能较为齐全,适应大多数行业的功能,

价格较贵,基础版价格:80000元/ 服务器,高级版价格:500000/服务器

3、 水晶报表crystalreport

sap公司的商业报表工具,作为sap“集团”下的报表组件模块。10年事前盛行一时,后被sap收购。但水晶报表(crystal report)在理论上只支持单数据集,对多集的支持依赖于数据库的运算能力(叉乘与联合等或写存储过程),多库一般难以支持。

4、 cognos ibm cognos business intelligence

cognos功能是很强大的,但是操作的复杂度比较高。如果是普通的列表,操作确实也简单,如果是格式复杂或者是统计数据来源表比较多的时候,至少对于我这样的新手来说,操作起来就没那么得心应手。

5、其他:例如oracle的biee算是商用bi工具,包括在商业智能方案里。国产的还有润乾、斯迈特等等,不多赘述。

一句话总结:

商用>开源,开源需要很强的代能力,项目上线时间长,容易不稳定,后续维护需要不停改代码。

国产>国外,这一点上不要“崇洋媚外”了,事实证明,国产报表更懂表格表姐的心。

不管选择哪类工具,最重要的还是满足业务需求,在满足的前提下寻找合适的工具。