原文出处: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报表设计工具却有多个,包含jasperEdit,JasperDesing,ireport(推荐)。
三者功能上的一些比较:
|
JasperDesign
|
ireport
|
JasperEdit
|
Xml文本编辑
|
无
|
无
|
有
|
可视化操作
|
差
|
好
|
一般
|
稳定性
|
差
|
好
|
好
|
可操作性
|
差
|
好
|
|
速度
|
差
|
很好
|
一般
|
可否直接预览报表
|
不行
|
不行
|
可以
|
JasperReports资料较多,API组织很到位,各种Demo,Viewer很齐全。已收集到其收费文档。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
JFreeReport是JFreeReport.Org基于LGPL授权协议提供的一组java包,是JFreeChart的姐妹项目,用于生成各类报表。JFreeReport的数据继承自Swing组件的TableModel接口,使用基于XML的报表格式定义文件对报表进行格式化。JFreeReport生成的报表可以分页预览、打印,而且支持导出为多种格式的文件如pdf、Excel、CSV、html等。更重要的是,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
开源报表工具选择:建议JasperReports+iReport
posted on 2007-11-15 14:57
阿蜜果 阅读(4068)
评论(2) 编辑 收藏 所属分类:
JFreeReport