近期项目组需要使用报表,特意写了篇文档,说明一下说什么要使用JasperReports
1. 为什么选择 JasperReports
基于JAVA的开源的报表工具很多,比如 Eclipse的 BIRT,openreports等,但JAVA开发者使用最多的工具则是JasperReports。并且国内使用人数也很多。虽然官方不提供免费的使用文档,但网络上相关资源较丰富。
版本升级快,尤其在2008年,上半年和下半年之间版本差别大,兼容性强。功能强大,支持PDF、HTML、XLS、CSV、RTF、XML等文件输出格式。
2. 什么是iReport
iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器采用纯Java开发。这个工具允许用户可视化编辑包含charts,图片,子报表等的复杂报表。iReport 还集成了JFreeChart图表制作包。允许用户可视化地编辑XML JasperDesign文件。用于打印的数据可以通过多种方式获取包括:JDBC, TableModels, JavaBeans, XML,Hibernate(支持HQL查询语言), CSV等。它支持多种输出格式包括:PDF,RTF,XML,XLS,CSV,HTM等。
3. JasperReports 和 iReport 如何结合使用
1). 在iReport中设计报表模板,XML格式(jaxml后缀)的文件,编译后生成 jasper 后缀的二进制文件。
2). 在java工程中直接使用经过编译后的jasper文件即可
3). 填充数据源
4). 生成制定格式的报表文件
备注:
iReport 软件,可以直接读取的数据源包括jdbc、hibernate、javabean、xml、csv等。可以直接填充数据生成不同格式文件。
在iReport软件良好的设计界面下测试无问题的模板,可拷贝jasper文件到java工程中使用。
iReport 软件的版本号和JasperReports工具版本号是紧紧对应着的。比如JasperReports 3.0.0,那么对应的iReport须是3.0.0版本才行。
iReport 是向下兼容的。
4. JasperReports 功能
支持生成PDF、HTML、Excel、RTF、TXT、OpenOffice ODF等
支持手动编写报表模板
支持编译
支持直接打印
可以和Flash集合在一起
融合了JFreeChart,增强了图表功能
提供了Applet支持
在中文环境下需要特定支持
在不同JAVA环境下都能够应付自如
5. 注意事项
1).生成PDF中文问题,需要对应的语言包
2).生成不同格式报表文件,需要调用不同导出器类
3).在生成HTML格式报表文件时,需要特别注意图片路径
4).在数据源提供方面,最灵活的就是JavaBean方式,易于控制,并且和现有项目耦合度低,不需要修改什么
5).不同数据源之间模板文件不通用
6).设计基于JavaBean数据源方式,需要提前按照规则提供测试数据,并且打成jar包