如何使用报表工具JasperReports+iReport?

如何使用报表工具JasperReports+iReport?

报表工具之JasperReports+iReport(2)


三、iReport介绍
1)iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器,为win32平台编写。允许用户可视化地编辑XML JasperDesign文件,可以和其它数据库进行JDBC通信。
再设计模板时可以以HTML,PDF,XML方式预览,用它生成的文件有.jrxml和.jasper两种文件。
.jrxml:是可视化编辑的xml文件;
.jasper:经编译后生成的类文件,即报表模板文件。
2)iReport的输出格式
其预览输出格式有:PDF,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}
注意:参数用$P{}来封装。
(2)定义参数
菜单“View”->“Reports Parameters”
新建参数,如参数名为“LAST_NAME”,再指定参数的类型(如:String)
还可设定“缺省值”和参数的“描述”
运行报表(缺省),还可以传递参数方式:http://server/showReport?LAST_NAME=smith
菜单“Build”->“Execute report(using active conn.)”
11)创建子报表
例子:一个报表包含另一个报表
(1)建立两个报表;
(2)扩展master报表,增加一个subreport元素;
(3)双击subreport元素,设置其属性。在Subreport(other)栏中,
Subreport Expression填入“c:/test2.jasper”(第二个表即子表的文件名),点击“Add”,增加/修改:“Subreport parameter name”和Default value expression值;(COUNTRY $F{COUNTRY})
(4)对子表“Report query”->添加'where COUNTRY=${COUNTRY}'
(5)增加“Report parameters”,(COUNTRY,java.lang.String)
(6)编译detail report;
(7)运行master report。
iReport支持Groovy脚本语言,可无需懂Java。