开源报表却愈来愈受到程序员热烈追捧,如ireport、 Jsper report、jfreechart这样的免费,开源的JAVA报表工具,在一下开源的JAVA报表相关的论坛里面都是热火朝天,发问者众多。发现都会有利有弊,近由于公司需求的缘由,我上网查找了好多报表工具和试用体验,下面是我向你们推荐5个开源报表工具。java
1.iReport程序员
iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器,用Visual J++为Win32平台编写。iReport容许用户可视化地编辑XML JasperDesign文件,能够和其它数据库经过JDBC通讯。在设计模板时能够以Html、Excel、Pdf等多种方式进行预览;用它生成的文件有.jrxml、.jasper两种文件,其中.jrxml就是咱们设计时可视化编辑的xml文件,.jasper是通过编译.jrxml后生成的类文件,也就是咱们最终在项目中用的报表模板文件。web
iReport 官方页://community.jaspersoft.com/project/ireport-designersql
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.comeclipse
iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器,采用纯Java开发。这个工具容许用户可视化编辑包含charts,图片,子报表等的复杂报表。jsp
三、jfreechartide
JFreeChart 是一款易于扩展的纯Java编写绘图图库, 使用它能够生成线图、柱状图、饼图、曲线图、面积图、甘特图、仪表盘、混合图等多种图表,并可将图表输出为PNG、JPEG图片。工具
稳定、轻量级,支持多种图表类型
一个灵活的设计,很容易扩展,并应用于服务器端和客户端的应用程序
支持多种输出类型,包括Swing组件和JavaFX组件、图像文件(包括PNG和JPEG)和矢量图形文件格式(包括PDF、EPS和SVG)
JFreeChart是开源的,基于GNU通用公共许可证 (LGPL)开源许可协议
JFreeChart官方页:http://www.jfree.org
这里要强调的是:iReport-0.5.0中集成了jasperreports-0.6.七、jfreechart-0.9.21,因此用iRepot-0.5.0就彻底能够开发报表了,但在iReport中进行图形统计报表的开发没有采用,而是直接引用其组件包进行本身手写类来开发的(由于对图形统计图的开发iReport支持的并很差)
四、Pentaho
Pentaho将你全部的数据转变成有意义的信息,为您设计Pentaho报表,一套开源的工具,容许你建立完美的报表,支持输出Excel、PDF、HTML、文本、富文本文件,XML和CSV,生成的报表能够很容易地从各类来源提炼成可读的数据。
Pentaho报表的开发是经过建立一个灵活且简单易用的报表引擎。这是一套开源工具,包括Report Designer、Reporting Engine和Reporting SDK。
Pentaho Report官方页: http://community.pentaho.com/projects/reporting
五、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:这个就看领导们安排什么水平的员工来开发报表了。
以上是经常使用的 JAVA 开源报表开发软件,之全部选择它们是由于有专业的报表软件、纯JAVA的、有专业论坛提供你们资源分享、免费(这是最重要的)、用起来更为灵活。综上所述决定性因素只有:免费、灵活。
那么报表软件,到底免费与收费孰优孰劣?
首先,免费的java报表开发能给咱们带来什么?答案显而易见:拥有了必定可用性的报表软件;开源的代码可以拥有灵活的可定制能力和彻底的控制;最重要的是免费。可是开源工具都有个通病,就是开发和维护成本比较大,若是你企业想上报表工具,怎么也得招/培养二、3个开发人,并且学习资料多为英文。并且Jsper report、ireport的全部帮助文档是收费的,文档却是至关细致,须要花大量的时间阅读。这才明白:所谓开源不可能真的有人那么无聊为人民服务,说白了仍是要挣钱的,不然产品的后续研发怎么办?
并且Jsper report、ireport的制表能力实在通常,老外的东西,本质上就不符合咱的报表习惯,报表彷佛就该这么作,作不出来的报表彷佛就应该写程序、写代码,最后用工具的结果仍是去写代码,还不如不用呢。
另外,在论坛里,像“请教高手某某问题如何解决”这类的帖子比比皆是。首先解决问题的时效性不高,须要等待不能即时被答复,并且也不必定有人能遇到过一样的问题,并愿意热心帮你解决,这时就会干着急,但愿有人技术支持一下。其实仔细算算,花在这些问题上的时间成本、人工成本,还不如买一个收费的工具?
选择收费的报表软件
首先在你有问题的时候能找专业的java报表厂商支持你,不用在论坛里发些的不必定有准确答复的求问贴了,更有甚者能够叫厂商直接帮你作部分表。作事是讲究效率的,与其浪费时间去自学开源工具的文档,还不如边学边作不懂就直接问报表工具厂商。这样能更顺利高效的完成项目。
我之前的公司作项目时老板就是不愿花钱,觉得是省钱,结果,因为不能及时完成折了好几个项目。因此,再碰上选择报表软件的时候,必定不要怕跟老板倾诉: 报表制做实际上是很专业的的活,花钱买一个工具比用开源工具划算。
下面的商业报表工具,其实成本算下来也无差,产品提供部署服务,能够走项目,后期还有技术维护。
商用报表工具:
一、XJR快速开发平台报表工具
使用多年钻坚研微的成熟稳定的第三方插件,提供大量标准报表模板,知足各行业不一样的须要。使用简单,会数据库就能够用。不须要再出报表受权费用。还有很重要的一点就是已经集成在开发平台内不须要再作整合。XJR快速开发平台融合了时下最实用的web及互联网应用技术,集成多类业务场景。面向服务/接口设计,可轻松集成或集成到外部系统,轻松整合企业现有资源。
价格平民,功能实用,符合中国国情的报表需求;
开发上手快,不须要专业人员,会数据库就能够用。
二、帆软报表
功能较为齐全,适应大多数行业的功能,
价格较贵,基础版价格:80000元/ 服务器,高级版价格:500000/服务器
三、 水晶报表CrystalReport
SAP公司的商业报表工具,做为SAP“集团”下的报表组件模块。10年事前盛行一时,后被SAP收购。但水晶报表(Crystal Report)在理论上只支持单数据集,对多集的支持依赖于数据库的运算能力(叉乘与联合等或写存储过程),多库通常难以支持。
四、 cognos IBM Cognos Business Intelligence
Cognos功能是很强大的,可是操做的复杂度比较高。若是是普通的列表,操做确实也简单,若是是格式复杂或者是统计数据来源表比较多的时候,至少对于我这样的新手来讲,操做起来就没那么驾轻就熟。
五、其余:例如Oracle的BIEE算是商用BI工具,包括在商业智能方案里。国产的还有润乾、斯迈特等等,很少赘述。
一句话总结:
商用>开源,开源须要很强的代能力,项目上线时间长,容易不稳定,后续维护须要不停改代码。
国产>国外,这一点上不要“崇洋媚外”了,事实证实,国产报表更懂表格表姐的心。
无论选择哪类工具,最重要的仍是知足业务需求,在知足的前提下寻找合适的工具。