JasperReports VS JFreeReport

【转】JasperReports VS JFreeReport
原文出处:http://blog.csdn.net/legendinfo/archive/2004/10/27/154876.aspx
JasperReports

 JasperReports是一个流行,完全开放源代码的报表工具,你能够使用XML报表模版在屏幕上显示报表,打印或者保存为一个PDF文档。JasperReport主要是包含一个Report Engine来解释XML

使用jasperreports的大致流程是:

 1.定义报表格式文件(XML文件),这个格式文件可以手写也可以用ireport(图形界面)生成。

 2.编译报表格式文件。jasperreports提供相关的方法,只需要调用一下就可以了,生成*.jasper

 3.调用*.jasper生成报表。

在报表设计工具中设计xml报表模板。设计完毕后,启动Report Engine,把xml编译成jasper文件,然后通过jdbc或其他数据源填充数据,生成jprint对象或文件,然后通过JasperView来显示报表,最后打印或输出为(PDF, HTML, XLS,

CSV and XML files)。JasperReport的数据源可以通过jdbc,也可以是我们自己提供的数据源比如Object[][],Vecotor等。

对于JasperReports报表设计工具却有多个,包含jasperEditJasperDesingireport(推荐)

三者功能上的一些比较:

JasperDesign

ireport

JasperEdit

Xml文本编辑

可视化操作

一般

稳定性

可操作性

速度

很好

一般

可否直接预览报表

不行

不行

可以

JasperReports资料较多,API组织很到位,各种DemoViewer很齐全。已收集到其收费文档。IReport的资料也较多。JasperReports导出的各种格式的图标样式比JfreeReport的对应格式美观。

美国JDJ Java报表工具评选开源工具第一。

优点:

1    它是开源和免费的,便于研究和修改;100%的纯java开发,免去平台限制。

2    对于程序员来说,其设计是有第三方的可视化设计工具iReport支持的,这样可以避免一些常范的语法错误。

3    最重要的是,它把报表样式放在一个xml文件中定义,因此我们要作自定义的报表,只需集中控制这个xml文件。

4    jasper提供了参数的应用,然后可以在一个jsp文件中去初始化这些参数,为我们作xml的集中控制带来了很大的方便。

   缺点:

1    报表的格式几乎是不可变的,只能是列表式,如果要作变通,必须在数据上作变通。

2    没有格线,报表的美观效果有可能会受到影响,也影响了打印的效果。

3    如果是自生成xml文件,ireport 是用不上的,所以有许多的语法问题都要特别注意。

4    目前用它来作自定义报表的文档几乎没有,因此经验支持相对较少。

5    因为是免费的,所以没有技术支持。

JasperReports报表需要编译,生成一个中间文件.jasper

Java程序可以用JasperReports提供的API直接解析.jasper文件显示报表。

开发时间:从2001开始开发,目前版本0.5.3

JfreeReport

   JFreeReportJFreeReport.Org基于LGPL授权协议提供的一组java包,是JFreeChart的姐妹项目,用于生成各类报表。JFreeReport的数据继承自Swing组件的TableModel接口,使用基于XML的报表格式定义文件对报表进行格式化。JFreeReport生成的报表可以分页预览、打印,而且支持导出为多种格式的文件如pdfExcelCSVhtml等。更重要的是,JFreeReport不仅支持基于C/S结构的系统,而且支持基于B/S结构的系统中的在线报表显示。

使用JFreeReport生成报表通常需要以下三个基本步骤:

生成可通过TableModel接口访问的数据。

生成一个JFreeReport实例,他定义了我们如何格式化显示数据。

将数据和JFreeReport实例连接起来,并且将该JFreeReport实例传给PreviewDialog的一个实例显示给用户。

JFreeReport中使用了两种基于XML的报表定义文件来保存报表定义信息:简单格式和扩展格式.很明显,简单格式不能够完全的描述JFreeReport支持的全部报表定义信息,但是他更易于上手使用。而扩展格式则能够对JFreeReport的报表定义提供完整的支持,但是扩展格式太详细了,不太容易使用。

JfreeReport没有可视化的报表设计工具。

JfreeReport不需编译成中间文件,对象直接在内存中传递。

缺点:不能结合jdbc得到数据来填充报表,只能自定义数据源。

例子很少,没有web demo。文档收费。

 开发时间:从2002年开始开发,目前版本0.8.4_10

开源报表工具选择:建议JasperReportsiReport


你可能感兴趣的:(JasperReports VS JFreeReport)