日期:2014-05-17 浏览次数:21266 次
一、介绍
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}
注