日期:2014-05-17  浏览次数:21200 次

JasperReports+iReport在eclipse中的使用

一、介绍

1)它可以PDF,HTML,XML等多种形式产生报表或动态报表,在新版本还支持CSV,XLS,RTF等格式的报表;

2)它按预定义的XML文档来组织数据,来源多(如:关系数据库,Java容器对象(collection,arrays)等);

报表的填充过程:

先产生报表设计对象->序列化该对象->存储在磁盘或网络->产生XML文件(表格数据)。

表单的设计过程就是用定义于XML文件中的Java表达式来实现报表的设计。

3)它带数据一致性验证;

4)报表引擎必须先接受数据(通过参数等多种形式)来产生报表,更多的是来自数据源,引擎直接接收用于填充表格的数据源对象,或者通过自身提供的JDBC连接对象来处理数据库的数据;

5)报表最终要产生一个新的对象来进行填充操作,从而产生打印文档对象,这也是存储在磁盘或网络传输介质的序列化对象;

6)内置浏览器能直接查看结果,以PDF,HTML,XML导出;

7)重要的类:

net.sf.jasperreports.engine.design.JasperDesign

其实例是用于报表产生的原始类;

net.sf.jasperreports.engine.design.JasperReport

表现了报表设计对象,是作为报表的编译过程的结果而被实例化,是向报表中填充数据的准备。

二、结构

JasperReports用XML文件来定义,约定用jrxml作为文件的后缀名。

1)主要元素:

<jasperReport> 根元素

<title> 报表的标题

<pageHeader> 页眉

<detail> 正文

<pageFooter> 页脚

<band> 定义报表部件,以上所有元素都包含一个band元素作为其唯一子元素。

除了根元素,其余元素是可选的。

2)其编辑工具iReport在Eclipse3.2下的安装过程

菜单“帮助”->“软件更新”->“查找并安装”->“搜索要安装的新功能部件”--(下一步)-->“新建远程站点”,输入以下内容:

名称:JasperForge

URL:http://www.jasperforge.org/update

--(确定)-->“下一步”-->直至完成。

3)以JasperReports1.3.0版本为例,一个JasperReports项目需要如下jar包:

包名??????????????????????????????????? 说明

jasperreports-1.3.0.jar???????????????? JasperReports API

commons-beanutils-1.7.jar?????????????? JavaBeans Utility classes

commons-collections-2.1.jar???????????? Collections framework extension classes

commons-digester-1.7.jar??????????????? classes for processing XML documents

commons-logging-1.0.2.jar?????????????? Logging classes

poi-2.0-final-20040126.jar????????????? Jarkarta POI API to generate an Excel Document

itext-1.3.1.jar???????????????????????? PDF library

xml-apis.jar??????????????????????????? XML parser API

三、iReport介绍

1)iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器,为win32平台编写。允许用户可视化地编辑XML JasperDesign文件,可以和其它数据库进行JDBC通信。

再设计模板时可以以HTML,PDF,XML方式预览,用它生成的文件有.jrxml和.jasper两种文件。

.jrxml:是可视化编辑的xml文件;

.jasper:经编译后生成的类文件,即报表模板文件。

2)iReport的输出格式

其预览输出格式有 DF,HTML,CSV。JAVA2D,EXCEL,纯文本,JRView。

注意:JRViewer是直接以C/S方式作为报表的输出格式,在JFrame框架下输出。

3)报表的动态对象变量、参数、字段

字段Fields:是从数据库抽取出来的,在报表中出现的数据库内容。$F

参数Parameters:你写的应用需要提供给报表的入口。 $P

变量Variables:报表中一些逻辑运算的表现。 $V

每个对象的定义格式如下: $V{variablesName}

4)运行时需要.jasper文件;编译:把.jrxml->.jasper文件。

静态运行:静态文本来运行,和数据源无关;

动态运行:带数据源运行。

5)报表的结构

title、pageHeader、columnHeader、detail、columnFooter、pageFooter、summary、groupHeader、groupfooter。

6)在iReport中创建数据库连接

(1)菜单DourceSource -> Connections/DataSources -> ...new ->

(2)菜单Build -> Set active connection -> 选择 -> ... -> OK

7)在iReport中创建文件

iReport工具是一个可视编辑器帮助创建JasperReports文件。JasperReports是一个基于Java报表的引擎。

当你在iReport中创建一个报表,你实际上是对配置文件进行操作,告诉JasperReports应该怎样建立Report。

三种文件:

.jasper文件:编译的二进制文件;

.jrxml文件:报表的配置文件;

.pdf文件:生成的pdf文件。

8)报表格式化

在iReport上选择报表的一个区域,将呈现蓝色高亮显示;

可用鼠标拖曳来改变区域的尺寸,当误操作时,用undo来恢复;

如选择框变红,则有错误,report将不能编译;

改变字体或调整尺寸,菜单“View”->“Element properties”->分三个选择:

(1)Common选择:尺寸,前景色/背景色,透明度,打印条件,位置属性等;

(2)Font选择:字体、大小、类型,PDF字体,加粗,斜体,下划线,水平位置,垂直位置,PDF编码。

注意:两种字体:

???? Font Name:将显示在iReport设计器和JasperReports运行中;

???? PDF font Name:将显示在编译后的PDF文件中。

(3)Static Text:静态文本。

想浏览元素时,看“View”->“Elements browser”;

一次选择多个域,按“shift”键再用鼠标点击;

菜单“View”->“Report Properties”报表属性:

报表尺寸,单位,页边距,报表名,纵向Portrait/横向Landscape,列宽,Spacing,标题作为新页,Summary作为新页,XML编码(UTF-8)。

9)使用Groups

菜单“View”->“Report query” 可以查询和修改SQL语句。

10)为report增加参数

(1)菜单“View”->“Report Query”,修改SQL语句,如:加上 WHERE LAST_NAME=$P{LAST_NAME}