JasperReport与IReport开发指南 下载本文

JasperReport与IReport开发指南

JasperReport 与iReport 简介

JasperReport 简介

JasperReport 是一款报表打印组件,是开放源代码组织sf.net 中的一个java 报表打印工程。我们使用jasperreports-2.0.4,JasperReport 的最新版本可以从

http://jasperreports.sourceforge.net/index.html 下载得到,JasperReport 适合用来做WEB 应用程序与Java Application 的报表打印组件,而且关键的一点是:JasperReport 是免费开源的!

iReport 简介

iReport 也是开源组织sf.net 中的一款免费软件,其主要作用是用来以可视化的方式设计 生成JasperReport 所使用的报表格式文件,因为JasperReport 本身并未提供很好的可视化报表设计工具,iReport 的出现正好弥补了这个缺陷。我们使用iReport-2.0.4,iReport 可以从http://ireport.sourceforge.net 下载得到,注意下载的iReport 一定要与你所使用的JasperReport 版本相匹配,当然您也可以更新iReport 中所使用的JasperReport 组件。

软件安装与配置

JDK 的安装与配置

JDK的版本采用1.5版本及其以上,安装1.5版本的JDK,不需要卸载之前开发的JDK版本及其配置。

在环境变量中配置JAVA_HOME路径,目录名后不要带有“\\”。如下:

在环境变量中CLASSPATH变量值中增

加%JAVA_HOME%\\lib\\tools.jar;%JAVA_HOME%\\lib\\dt.jar,也可以直接输入绝对路径,但建议使用%JAVA_HOME%的方式。

再接下来还要修改系统环境变量PATH,增加%JAVA_HOME%\\bin 目录。

至此JDK 的配置也完成,打开一个命令行窗口,键入set classpath 与set java_home 应该可

以看到正确的配置信息,同时,输入javac -version 看系统能否找到JAVA 的编译器。

ant 的安装与配置

ant 是个很好用的工具,虽然对于JasperReport 和iReport 来说ant 并不是必须的,但还是建议以使用ant 的方式来应用。

ant 是apache 组织的一个子项目,可以从http://ant.apache.org 下载得到,Windows 平台 的可以下载ZIP 格式的安装文件,下载完成以后解压缩到某个目录,建议使用根目录下的直 接子目录作为ant 解压缩以后目录,ant 无需安装,解压缩文件以后就算安装完成。 与设置JDK相同的操作过程打开系统环境变量设置窗口,增加ANT_HOME

环境变量,变量值为解压缩以后的ant 所在目录,目录名中同样不要带有“\\”。

在系统的环境变量Path 中增加%ANT_HOME%\\bin 目录,然后新开一个命令行窗口, 输入ant 后如果出现如下图所示内容即算正确完成ant 的配置。

JasperReport 的安装与配置

下载jasperreport的jar包放在系统中的%JAVA_HOME%\\lib\\目录中。 在CLASSPATH变量值中增加jar包的路径。

iReport 的安装与配置

直接安装iReport-2.0.4-windows-installer.exe

安装完成以后,把tools.jar、dt.jar、classes12.jar(Oracle驱动程序)、iTextAsian.jar(亚洲字符集)放到iReport目录下的lib目录下,并重新启动iReport。

模板开发

设置默认语言

点击“Option”中Settings中的属性Language即可对设置默认语言,保存即可生效。

连接数据库

选择“data”菜单中的“Connections/Datasources”,在打开的数据连接列表窗口中点击“new”以便新增一个数据源,JasperReport 可以使用多种数据源,可以是JDBC 数据库连接,也可以是从XML 文件中取数据等。以下是使用Oracle 中的UTF8DB 数据库做为数据源的一个配置例子。

我们还需要手工复制Oracle 的JDBC 驱动文件(..\\ oracle\\ora92\\jdbc\\lib 目录下的classes12.jar)到iReport 的lib 目录,复制JDBC 驱动以外需要重新运行iReport 才会生效。配置好数据源以后,点击“Test”按钮,如果配置没有错误,应该会弹出测试连接成功的提示。测试数据库连接成功后,点击“Save”按钮保存这个数据源以便完成数据源的配置。

设置SQL语句查询

点击“Build”菜单,选择“set activeconnection”即可使报表与数据源连接上。然后点击“Data”菜单,点击“Report query”,在打开的窗口中输入SQL 查询语句。 2.X 版本增加字段的方法:点击“Read fields”按钮,如果SQL 查询语句语法正确,则iReport 自动取出查询结果中的字段列表,使用Ctrl 键选择我们的报表中将会使用到的字段,也可以使用Shift 键选择所有字段,点击“Register fields to report”,您所选中的字段名称及类型等信息自动增加到了报表引用字段列表中,点击“Save query to report”,保存这个查询。 3.0 版增加字段的方法:3.0 版可以自动的根据sql 语句取出查询结果,并且查询结果中的字段列表默认就是已经选中的了,如下所示,输入完正确的sql 语句后直接点击“OK”即可完成字段的自动增加。

设置报表样式

在IReport新版本中,不推荐使用直接设置字体和字符集的方式。而是采用样式(Stryle)的方式。这样处理的好处大致有两点:1、只需要对属性Style进行设置,不需要对每一个字体、字符集等一一设置;2、当字体等发生变化,不需要一一修改每一个元件,只要修改Style设置就可以了。

菜单Format->Styles中新增一个样式,如果该样式在这个报表中使用比较多的话,可以设置为默认。 在样式中可以设置字体、字符集、颜色、等属性。 在元件属性Style中选择需要的样式。

iReport 中各band 的功能

Title Band:title 段只在整个报表的第一页的最上面部分显示,除了第一页以外,不管报表中共有多少个页面也不会再出现Title band 中的内容。

pageHeader Band:顾名思义,pageHeader 段中的内容将会在整个报表中的每一个页面中都会出现,显示在位置在页面的上部,如果是报表的第一页,pageHeader 中的内容将显示在Title Band 下面,除了第一页以外的其他所有页面中pageHeader 中的内容将在显示在页面的最上端。

pageFooter Band:显示在所有页面的最下端。 lastPageFooter Band:显示在最后一页的最下端。

Detail Band: 报表内容段,在这个Band 中设计报表中需要重复出现的内容,Detail 段中的内容每页都会出现。

columnHeader Band:针对Detail Band 的表头段,一般情况下在这个段中画报表的表头。 columnFooter Band:针对Detail Band 的表尾段。

Summary Band:表格的合计段,出现在整个报表的最后一页中的Detail band 的后面,一般用来统计报表中某一个或某几个字段的合计值。

这些Band的功能、条件、所处的位置与如意报表的Band功能差不多。

使用报表字段

点击“View”菜单,选择“Fields”,iReport 打开报表字段列表窗口,就会显示出从SQL 查询中增加过了报表字段列表,则打开后的窗口中将会显示您所增字段列表,在此功能中可以再手工增加、修改、删除报表字段列表。 在动态文本框中,即可使用报表字段,如下

在iReport 中定义与使用参数

参数用来在报表运行时动态传递某些数据,如SQL 查询中的条件,报表中需要动态显示的数据等,定义参数的方法为:选择“View”主菜单,选择“Report Parameters”项,打开当前报表中的参数列表窗口,点击“New”来新增参数,在新增参数对话框中输入参数的名称、数据类型、缺省值以及参数的描述信息等,如下图所示:

需要注意的是,根据不同的参数类型,在设置参数的缺省值时要使值能与参数类型匹配,即字符型的参数在设置缺省值时要用””把值括起来,如果是数据值型的则不能加””。

参数在iReport 设计器中的使用也很简单,使用方法与使用数据库字段类似,只是需要将$F 改为$P,即,参数数据的表达格式为$P{参数名称},同时注意参数名称是大小写敏感的。

怎样定义与使用变量

何时使用变量呢?对于一些可以由报表系统自己产生而不必需要从外界传入的数据,如 报表的打印时间等,我们可以通过定义一个变量来解决这类小问题。