JasperReport+iReport报表开发手册

上传人:n**** 文档编号:45354149 上传时间:2018-06-16 格式:PDF 页数:38 大小:2.50MB
返回 下载 相关 举报
JasperReport+iReport报表开发手册_第1页
第1页 / 共38页
JasperReport+iReport报表开发手册_第2页
第2页 / 共38页
JasperReport+iReport报表开发手册_第3页
第3页 / 共38页
JasperReport+iReport报表开发手册_第4页
第4页 / 共38页
JasperReport+iReport报表开发手册_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《JasperReport+iReport报表开发手册》由会员分享,可在线阅读,更多相关《JasperReport+iReport报表开发手册(38页珍藏版)》请在金锄头文库上搜索。

1、JasperReports+iReport 报表开发手册 V1.0JasperReports+iReport 报表开发手册 V1.0写在前面写在前面.JasperReports 是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成 PDF,HTML,或者 XML 格式。它有一个相关的开源工程-IReport,这是一个图形化的辅助工具,主要用于数据报表设计。JasperReports 完全是由 Java 写成,可以应用于 Java 的应用程序,包括 J2EE,Web 应用程序中生成动态内容,它主要目的是辅助生成面向页面的(pageoriented),准备付诸打印的文档。总的而言,

2、JasperReports 主要分成三个部分,包括数据报表设计、数据填充与数据报表导出。第一章第一章JasperReport+iReport 使用简介使用简介JasperReport 在讨论 jasperReport 之前先介绍下 Ireport. Ireport 是个工具,用它可以方便的生成报表,比如可以动态链接数据库生成报表,也可以在 SQL 语句中输入参数,提取指定的数据生成报表。用 ireport 生成报表最终会产生两种文件 jsxml 和 jasper 文件。其中 jsxml 可以认为是 XML 文件,用来定义报表格式的,比如报表头是什么内容,报表体有哪些列等等,jasper 是由

3、jsxml 编译生成的二进制文件,用来产生报表。所以如果有 jsxml 文件,我们就定义好了报表的格式,现在还缺一个就是数据源了,用来填充报表。比如数据源我们可以连接数据库得到。综上所述,Jasper 定义报表格式 + 数据源 = 最终生成的报表1. JasperReport是什么是什么JasperReport 是一个免费、开源的纯 JAVA 报表工具和引擎,功能很强大。她可以支持多种数据源,支持 Bean 作为数据源(支持 Hibernate)、Connection 作为数据源、xml 记录集数据源、ResultSet 作为数据源,等等。她可以很灵活地设计普通报表、主细表、交叉报表。也可以很

4、方便地将报表的结果导出成 pdf、excel、rtf、html 等等的格式。该库完全由 Java 写成,可以用于在各种 Java 应用程序,包括 J2EE,Web 应用程序中生成动态内容。它的主要目的是辅助生成面向页面的(page oriented),准备付诸打印的文档。JasperReport 借由定义于 XML 文档中的 report design 进行数据组织。这些数据可能来自不同的数据源,包括关系型数据库,collections,java 对象数组。通过实现简单的接口,用户可以将report library 插入到订制好的数据源中。说白了 jasperReport 是一个 JAR 包,

5、里面有很多 API 供我们调用,用来生成报表。其实Ireport 工具内部就调用了 jasperReport 的 API 生成报表。 那为什么我们有了 Ireport 这么好的工具还要 jasperReport 呢?1. Ireport 是一个客户端工具,如果要生成报表,用户必须装它,必须知道怎么用它。2. Ireport 中带参数的 SQL 语句,如果改变筛选条件,用户必须自己去改变 SQL,这对不懂 SQL 的用户是不可能做到的所以我们可以利用 jasperReport 这个工具包,自己写程序来生成自己需要的报表。同理,用 jasperReport 生成报表,也要 jasper 定义报表格

6、式 + 数据源,如果你很懂 jasper 规范的话,你可以自己写 jsxml 文件,完全脱离 Ireport 工具。但这种实在是走了很多弯路。所以我们可以借助 Ireport 帮我们生成 jsxml 文件,然后利用 jasperReport 这个工具包编程生存报表。2. iReport简介简介iReport iReport 是一个能够创建复杂报表的开源项目。它是 100%使用 Java 语言编写。是目前全球最为流行的开源报表设计器。由于它是丰富的图形界面,你能够很快创建出任何一种你想要的报表。iReport 是开源报表引擎 JasperReport 的可视化设计工具。它具有一下几个突出功能:拖

7、拽式,所见即所得的报表编辑器;多样的向导来简化复杂的报表设计任务;支持所有有效的数据源,如 JDBC、CVS 等等;报表模板与报表库样式管理;源文件的备份。JasperReport+iReport下载与安装下载与安装3.1 版本下载版本下载JasperReport 和 iReport 的资源可以到官网下载得到,下载地址如下:JasperReport:http:/ http:/ )下载3.2 安装安装JasperReport 安装时不需要任何配置,只需要将下载的 jar 包放到项目的 classpath 下即可安装 iReport 时只需要运行下载的 iReport-5.6.0-windows-

8、installer.exe 可执行文件,如果你下载的不是可执行文件而是免安装的压缩包文件如 iReport-5.6.0.zip,你需要解压这个压缩包,然后运行 bin 目录下的 ireport.exe 文件即可4. iReport 运行运行运行 ireport.exe 如下图:然后进入 iReport 设计主界面5.从一个简单的从一个简单的demo认识认识iReport5.1 使用报表向导新建一个使用报表向导新建一个 Report单击“文件”“NEW”进入报表设计向导程序 如下图:在向导程序中我们可以选择自己想要的模板,在这里我选择了“Blank A4 Landscape”,然后单击“Laun

9、ReportWizard”,如下图:选择“Launch Report Wizard”后,系统将引导你进入下一步,如下图。在这一步中在“Report Name”中输入报表的文件名,“Location”中指定报表文件存储目录。选择“下一步”,系统引导你配置数据源模式,在这里系统默认提供两种数据源模式“EmptyDataSource”和“Sample Database(HSQLDBtest)”,我在这里“NEW”一个自己的数据源模式“Database JDBC connection”,如下图。单击“Next”,根据自己的数据库填写相关配置项,配置好自己的数据源(数据源一次配置,N 次使用,当在新建另

10、外的 Report 时,我们可以使用已经存在的数据源),如下图点击“Save”回到 Query 界面,选择自己刚配置的数据源,填写 SQL 语句,如下图点击“下一步”选择需要的 fields,如下图点击“下一步”进入 Group by,如下图这里制作一个简单的报表,先跳过 Group by,直接点解“下一步”,进入最后的完成界面,如下图,单击“完成”就可以开始设计我们的报表啦5.2 设计自己的报表设计自己的报表5.2.1关于栏(关于栏(band)报表被垂直分成若干个部分,每一个部分我们叫它“band”。每一个 band 都有自己的特性,在报表生成的时候有些会打印一次,有些会打印多次。如下图。接

11、下来我们就对每一种类型的 band 分别进行介绍。Title Band:title 段只在整个报表的第一页的最上面部分显示,除了第一页,不管报表中有多少个页面也不会再出现 Title band 中的内容。就是报表的标题。pageHeader Band:pageHeader 段中的内容将会在整个报表中的每一个页面中都会出现,显示的位置在页面的上部。如果是报表的第一页,pageHeader 中的内容将显示在 Title Band下面,除了第一页以外的其他所有页面中,pageHeader 中的内容将显示在页面的最上端,即页眉。pageFooter Band:显示在所在页面的最下端,即页脚。Detai

12、l Band:报表内容段,在这个 Band 中设计报表中需要重复出现的内容,Detail 段中的内容每页都会出现。columnHeader Band:针对 Detail Band 的表头段,一般情况下在这个段中画报表的表头。columnFooter Band:针对 Detail Band 的表尾段。Summary Band:表格的合计段,出现在整个报表的最后一页中的 Detail band 的后面,一般用来统计报表中某一个或某几个字段的合计值。lastPageFooter:内容将会出现在报表的最后一页的最后部分。5.2.2组件面板组件面板iReport 提供了一系列的组件,通过这些组件,我们可

13、以在报表中填充各种数据以及各种样式效果,下图为 iReport 所提供的组件,组件的用途通过组件名可以直观的了解,我们要使用某个组件时,只需要将组件拖拽在想要放置的报表栏中,再根据需要修改属性即可。5.2.3字段、参数、变量字段、参数、变量后续实例中讲解5.2.4子报表子报表SubReport 是 ireport 提供的高级功能,通过 SubReport 我们可以创建复杂的报表。通过SubReport 我们可以创建一个包含若干个子报表的报表。创建一个包含子报表的报表我们需要三个对象:一个 jasper 文件,一个包含参数 map(当然可以为空)和一个 DataSource(数据源,或者是一个

14、JDBC 的 Connection)。在本章中我们将解释如何通过这三个对象创建一个 SubReport 并实现在子报表中数据过滤显示的目的。5.2.4.1 创建子报表创建子报表一个 SubReport 是一个真正的包含它自己 xml 文件并且是一个已经编译好的 jasper 文件。创建一个 SubReport 就是创建一个普通的报表文件,创建过程中唯一需要注意的是设置SubReport 的宽度、高度及一些不需要显示的 band,一般情况下对于不显示的 band 我们把它们的高度都设置为 0。在设置子报表的宽度时我们应该考虑到它在父报表中显示时的效果,然后针对这一特性有针对性的去设置。在父报表中

15、我们要添加一个子报表可以通过 iReport 中的 SubReport 工具(打开主报表的“组件面板”,拖拽“SubReport”组件到主报表合适位置)来实现。子报表的形状和一个距形类似,我们可以调整 SubReport 的尺寸和位置以控制子报表的显示。创建子报表本质与新建一个报表没太大区别,最重要的是调整主、子报表的样式,相互关联和传参。将一个子报表链接到父报表中需要做三件事情:获得 SubReport 所对应的 jasper 报表对象、如何为它提供数据及如何为子报表的 parameters 设置具体的值。所有这些信息的定义我们可以通过 SubReport 属性面板下的 SubReport

16、properties 块中参数的设置来实现。5.2.4.1 参数传递参数传递当我们在应用程序里通过 fillReport 方法来生成一个报表的时候,我们会提供一个包含参数值的 Map 一起传递到报表中,包含参数的 Map 对象是由报表引擎直接管理的。在子报表属性窗口的里的“SubReport”标签里的“Parameters Map Expression”属性就是提供给我们的最简单的方法来为子报表设置 parameters 的值,它允许我们定义一个最终可以返回 java.util.Map 对象的表达式,使用这种方法我们可以把从外部应用程序传到父报表里的 parameter 对象,当然这个 param

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号