如何使用IReport3.5.1来制作报表模板

如何使用IReport来制作报表模板

一、如何安装

现在IReport的最新版本是3.5.1

官方的地址是:https://www.360docs.net/doc/d017817972.html,/plugins/project/project_home.php?projectname=ireport

其中最新版本是:iReport-nb-3.5.1-windows(适用于windows系统)

双击下载得到的iReport-nb-3.5.1-windows-installer.exe文件即可安装

二、IReport的界面

1、小工具栏

这里排列的都是一些常用操作,可以根据自己需要定制。定制方法:在小工具栏的空白处点右键,出现右键菜单选择“定制…..”。

2、模板/报表结构树

Background之前的项目都是一些模板所需要的数据定义,从Background开始就是这个模板的排版布局结构。

3、模板编辑框

Designer:按下这个标签就是可视化编辑器,可以把组件从面板中直接拖过来进行编辑,所见即所得。

XML:切换到这个标签则是XML编辑器,可直接针对模板文件的XML进行编辑。Preview:预览。预览的同时也会生成项目中所需要的.jasper文件。

4、组件面板

这个面板里有IReport所支持的功能组件及常用的参数,比如表格、图表、方框、直线、静态文字、文字域、图片、子报表、页次参数等等。将这些组件自由组合,基本上我们就可以做出自己想要的报表来。

5、属性面板

当用左键点击编辑界面中某个组件时,面板中会出现该组件的可设置属性。

下图为当文字域被选中时,属性面板的变化(最大化):

6、输出信息

编译后的信息出现在这里。如果编译出错也可以在这里看见错误提示。

基本上常用的窗口就这些,有需要可以在菜单栏的窗口选项中选择更多的窗口展示在工作区内。

三、模板/报表结构树

1、在IReport中,常用的数据定义有三种。分别是:Fields、Parameters、Variables。

1.1 Fields(字段)

我们可以把报表中的数据排列想像成数据库的二维表,Fields所存储的就是数据集中某个字段所对应的值。它的特点就是可放在Detail区域自动遍历。

1.2 Parameters(参数)

同样是可存储某一个值,但是它只能储存唯一一个值。

1.3 Variables(变量)

变量是一个用来存放计算结果的对象,就像小计,总计等。

2、报表的结构

如上图所示:报表分为:title、pageHeader、Column header、Group header、Detail、Group footer、Column footer、Page footer、Last Page footer、Summary、Background几个部分。

2.1 Title(报表标题)

它仅被创建一次,通常只打印在第一页。

在这个区域常用的是Parameters

2.2 pageHeader(页头)

在每一页的开头出现,每一页都会被打印。

该区域常用的是Parameters

2.3 Column header(列开始处)

把数据集合想象成二维表,这里摆放的就是列名的位置。

该区域常用的是Parameters

2.4 Group header(分组列开始处)

当有分组时,这里摆放的是分组数据的列名。

该区域常用的是Parameters

2.5 Detail(数据)

数据集中的被遍历的区域。有多少行数据就显示多少行。

该区域常用的是Fields

2.6 Group footer(分组列结尾处)

这个区域代表该分组的结束,可以放置该分组的统计数据等变量或分隔符等等

该区域常用的是Parameters和Variables

2.7 Column footer(列结尾处)

这个区域代表这次遍历数据的结束,可以放置统计数据等变量。

该区域常用的是Parameters和Variables

2.8 Page footer(页脚)

它和page header同时出现在每页,可以放置页次页数等内置参数

2.9 Last Page footer(最后一页页脚)

它只出现在最后一页。

该区域常用的是Parameters

2.10 Summary(总计)

它也只出现在最后一页,通常用来放置总计等数据。

该区域常用的是Parameters和Variables

2.11 Background(背景)

基本上没什么用,除了用来放水印。

在一份报表中,我们常用的是:pageHeader、Column header、Detail、Page footer、Summary 这几个区域。如果有分组,那么在创建分组时IReport会自动创建Group header和Group footer 这两个区域。任何一个区域都可以通过左键选中结构树面板中的区域,然后右键菜单选择“Delete Band”来删除不需要的区域。

四、常用组件介绍

IReport内置的组件有很多,这里只介绍常用的几个,比如:静态文字域、动态文字域、线条等。

1、静态文字域

从组件面板中选中“Static Text”拖到编辑面板中,此时属性面板中就会显示它的可设置属性。

Static text properties栏目下有一项Text,点击“….”按钮会出现文本框,直接输入你想要的文字比如“Test”等等即可。

在Text下方,有Text properties的栏目,这里设置的是字体、文字大小、粗体、斜体、下划线、中划线、对齐方式、浮动方式等等。

由于静态文字域一旦写好该文字就被固定,与程序结合后可重用率不高,现在静态文字域也不太常使用,如果有需要一般都是用在动态文字域中直接写文字来取代。

2、动态文字域

从组件面板中选中“Text Field”拖到编辑面板中。它的属性面板内容和静态文字域差不多。只不过它的Text field properties栏目比静态文字域的Static text properties栏目多出好几项。

如上图所示。

Text Field Expression:可以直接将文字写入,也可以放置Fields、Parameters、Variables。其格式为:

Fields:用$F{Fields Name}来表示

Parameters:用$P{ Parameters Name}来表示

Variables:用$V{ Variables Name}来表示

它也支持像new https://www.360docs.net/doc/d017817972.html,ng.String(“Test”) 这样的表达式

Expression Class:该字段/参数/变量的类型,请与数据定义中的字段/参数/变量相匹配。Blank When Null:当该数值为null时是否不显示

Pattern:格式化模型。多数用于当Expression Class为Date类型或Int类型或BigDecimal类型时。

Stretch With Overflow:当该数值超出该组件设定的宽度时是否折行。

Evaluation Time:该数值在什么情况下被重置。不是很常用,多用于分组计算的时候。Evaluation Group:当Evaluation Time选择“Group”时,此处可选择是哪个分组。

3、线条

从组件面板中选中“Line”拖到编辑面板中,此时属性面板中就会显示它的可设置属性。

该组件可设置的内容很少,只有Graphic properties栏目下的Pen。在Pen中可设置线条粗细、线条类型(实线虚线)、线条颜色等。

4、通用属性

除了上述各个组件的自己的专属属性外,还有一些属性是这些组件都有的:(见下图)

前几项分别是这个组件的左边距、上边距、宽度、长度、前景色、后景色、是否不透明、套用的样式、关键词。基本上常用的就这些。

五、制作第一张报表模板

1、分析需求

先来看一下这份报表的需求:

我们可以把这张报表的数据Bean中的字段定义为:classId、className、stuId、stuName、score

所需的参数如标题等等定义为:TitleLabelCode、classIdLabelCode、classNameLabelCode、stuIdLabelCode、stuNameLabelCode、scoreLabelCode、avgScoreLabelCode

所需的变量定义为:avgScore

2、定义数据

在开始做模板之前,首先要先把Fields、Parameters、Variables都定义好。

在数据定义面板选中Fields/Parameters/Variables右键菜单选择“添加”,属性面板会出现相应的设置。

1.1Fields

基本上只需要设置前两项,Name和Field Class必须要对应项目中数据Bean的字段名和该字段的类型

设置完全部的字段后结构面板的变化如下图:

1.2Parameters

和Fields一样,基本只设置前两样。在通过Java程序传递参数时,必须将Map中的参数名与模板中的参数名一一对应起来。比如map.put(“parameter1”,”parameter1的值”);同时Defult Value Expression的表达式设为$P{ parameter1}

设置完全部的参数后结构面板的变化如下图:

红线以上为IReport自设参数,红线以下为用户自定义参数

1.3Variables

Variables的属性相对比较多。前两项与Fields、Parameters没什么不同。

第三项Calculation:指的是计算方法,有Sum、Count、Average等多种

Reset type:何时清零重新计算

Reset group:如果在Reset type中选择了group,这里会让你选择是哪个group

Variable Expression:针对哪个值进行计算

大致会用到的就是这些。

设置完成后如下图所示:

该变量avgScore的属性设定如下:

到这里全部的字段、参数、变量都设定好了,下一步我们可以开始编辑报表模板了。

3、模板布局

我们真正所需要的Band其实只有pageHeader、Column header、Detail、Summary,把其他的Band删除后我们可以开始把动态文字域组件拖进编辑区开始按需求的位置摆放。(如下图所示)

4、获得模板文件

基本上这样模板就算制作好了,打开菜单栏“文件”,选择保存,我们可以得到文件名. jrxml 。但是项目中需要用到的是文件名.jasper,这时只需要按下快捷工具栏

中的图标即可。在你保存jrxml文件的目录下就能找到jasper文件

至此,我们的第一份模板就做好了。

相关文档
最新文档