JasperReports
用户说明书
(中文版)
----By 2010 级电商研
姚海波
樊偿、钟健权
何瑜瑾、赵雪兰
李向涛、秦 雷
JasperReport 用户说明书
2
目录
目录
________________________________________________________________ 2
序言
________________________________________________________________ 4
第 1 章 JasperReport 简介 ____________________________________________________ 5
1. JasperReport 是什么 _______________________________________________________________5
1.1 JasperReports 基本操作步骤 ______________________________________________________6
1.1.1 下载 ________________________________________________________________________6
第 2 章 数据报表设计 _______________________________________________________ 7
2.1 iReport 使用简介 _________________________________________________________________7
2.1.1 iReport 介绍 ___________________________________________________________________7
2.1.2 iReport 的安装 _________________________________________________________________7
2.1.3 运行 Ireport ___________________________________________________________________8
2.1.4 使用报表向导_________________________________________________________________8
2.1.5 使用 iReport 设计报表模板 __________________________________________________ 14
2.2 使用 ireport 来实现报表的设计 ________________________________________________ 26
2.3 Jrxml 文件设计 ________________________________________________________________ 30
第 3 章 JapserReports 数据填充 _____________________________________________ 35
3.1 数据填充概述 ________________________________________________________________ 35
3.2 报表查询(Report Query) __________________________________________________ 39
第 4 章 数据报表导出 ______________________________________________________ 43
4.1 查看报表(Viewing Reports)__________________________________________________ 43
4.2 打印报表 _____________________________________________________________________ 45
4.3 导出报表 _____________________________________________________________________ 46
第 5 章 范例 _______________________________________________________________ 49
5.1 报表设计 _____________________________________________________________________ 49
5.2 数据填充 _____________________________________________________________________ 49
JasperReport 用户说明书
3
5.3 报表导出 _____________________________________________________________________ 50
第 6 章 JasperReport 与 struts2 的整合________________________________________ 51
6.1 环境准备 _____________________________________________________________________ 51
6.2 生成*.jasper 文件 _____________________________________________________________ 51
6.3 在 struts.xml 文件中的配置_____________________________________________________ 51
参考资料 __________________________________________________________________ 51
附 API 表 _________________________________________________________________ 52
JasperReport 用户说明书
4
序言
JasperReports 是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,
并将之转换成 PDF,HTML,或者 XML 格式。它有一个相关的开源工程—IReport,
这是一个图形化的辅助工具,主要用于数据报表设计。JasperReports 完全是由
Java 写成,可以应用于 Java 的应用程序,包括 J2EE,Web 应用程序中生成动态
内容,它主要目的是辅助生成面向页面的(page oriented),准备付诸打印的文
档。总的而言,JasperReports 主要分成三个部分,包括数据报表设计、数据填充
与数据报表导出。
图 0-1
JasperReport 用户说明书
5
第 1 章 JasperReport 简介
在讨论 jasperReport 之前先介绍下 Ireport. Ireport 是个工具,用它可以方便
的生成报表,比如可以动态链接数据库生成报表,也可以在 SQL 语句中输入参数,
提取指定的数据生成报表。用 ireport 生成报表最终会产生两种文件 jsxml 和
jasper 文件。其中 jsxml 可以认为是 XML 文件,用来定义报表格式的,比如报表
头是什么内容,报表体有哪些列等等,jasper 是由 jsxml 编译生成的二进制文件,
用来产生报表。所以如果有 jsxml 文件,我们就定义好了报表的格式,现在还缺
一个就是数据源了,用来填充报表。比如数据源我们可以连接数据库得到。
综上所述,jasper 定义报表格式 + 数据源 = 最终生成的报表。
1. JasperReport 是什么
JasperReport 是一个免费、开源的纯 JAVA 报表工具和引擎,功能很强大。
她可以支持多种数据源,支持 Bean 作为数据源(支持 Hibernate)、 Connection 作
为数据源、xml 记录集数据源、ResultSet 作为数据源,等等。她可以很灵活地设
计普通报表、主细表、交叉报表。也可以很方便地将报表的结果导出成 pdf、excel、
rtf、html 等等的格式。
该库完全由 Java 写成,可以用于在各种 Java 应用程序,包括 J2EE,Web 应
用程序中生成动态内容。它的主要目的是辅助生成面向页面的(page oriented),
准备付诸打印的文档。JasperReport 借由定义于 XML 文档中的 report design 进行
数据组织。这些数据可能来自不同的数据源,包括关系型数据库,collections,
java 对象数组。通过实现简单的接口,用户可以将 report library 插入到订制好的
数据源中。
说白了 jasperReport 是一个 JAR 包,里面有很多 API 供我们调用,用来生成
报表。其实 Ireport 工具内部就调用了 jasperReport 的 API 生成报表。
那为什么我们有了 Ireport 这么好的工具还要 jasperReport 呢?
1.Ireport 是一个客户端工具,如果要生成报表,用户必须装它,必须知道
怎么用它。
2. Ireport 中带参数的 SQL 语句,如果改变筛选条件,用户必须自己去改变 SQL,
这对不懂 SQL 的用户是不可能做到的
所以我们可以利用 jasperReport 这个工具包,自己写程序来生成自己需要的
报表。同理,用 jasperReport 生成报表,也要 jasper 定义报表格式 + 数据源,
如果你很懂 jasper 规范的话,你可以自己写 jsxml 文件,完全脱离 Ireport 工具。
但这种实在是走了很多弯路。所以我们可以借助 Ireport 帮我们生成 jsxml 文件,
然后利用 jasperReport 这个工具包编程生存报表。