IReport报表制作概述最新版模板.docx

上传人:b****4 文档编号:1347796 上传时间:2022-10-21 格式:DOCX 页数:23 大小:1,007.46KB
下载 相关 举报
IReport报表制作概述最新版模板.docx_第1页
第1页 / 共23页
IReport报表制作概述最新版模板.docx_第2页
第2页 / 共23页
IReport报表制作概述最新版模板.docx_第3页
第3页 / 共23页
IReport报表制作概述最新版模板.docx_第4页
第4页 / 共23页
IReport报表制作概述最新版模板.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

IReport报表制作概述最新版模板.docx

《IReport报表制作概述最新版模板.docx》由会员分享,可在线阅读,更多相关《IReport报表制作概述最新版模板.docx(23页珍藏版)》请在冰豆网上搜索。

IReport报表制作概述最新版模板.docx

IReport报表制作概述最新版模板

IReport制作报表

一、启动iReport后,点击菜单”档案”–“开启新档”(见图1),弹出窗口“Reportproperties”。

图1

二、在窗口“Reportproperties”中可定义报表的名称、尺寸、定位及报表边界值等属性(见图2)。

“定位”下拉列表中包含两个选项“Portrait”和“Landscape”,其中Portrait代表纵向报表,Landscape代表横向报表),下面以制作”归档文件目录”为例子来介绍如何制作报表。

图2

三、定义报表名称及定位等属性后,点击“OK”按钮系统弹出报表设计的主窗体。

在窗体的左下方点击右键,弹出菜单“栏的属性”(见图3)。

图3

四、选择该菜单,在弹出窗体中设置各个栏的高度(见图4)。

设置方法如下:

选中某个栏后输入高度值,点击“Apply”按钮。

对不需要显示的栏设置其高度值为“0”即可,注意:

档案的报表最常用的栏目为:

columnHeader、detail、columnFooter。

图4

五、在上方选取”静态字段”工具(T图标),再在”columnHeader”栏中画出来(见图5),以同样的方法增加其它所有静态的文字。

columnHeader栏里面的图表、文字一页只会显示一次,Detail栏中的会根据条件循环显示,直到页面不够画才换一页显示。

图5

六、右键单击画出的静态字段框选”属性”,在弹出的对话框中(见图6)设置其它属性:

Font选项卡中设置字体的相关属性。

(1)在FontName选字体;

(2)Size选字体大小;

(3)PDFFontName设置或选择相关的字段,注意如果在FontName选的不是宋体,而是其它字体时,需要通过复制粘贴功能把相应的字体替换为下表中相应的字体,字体对照表如下:

字体名称

字体名字

宋体

STSong-Light

方正舒体

FZSTK.TTF

方正姚体

FZYTK.TTF

仿宋体

simfang.ttf

黑体

simhei.ttf

华文彩云

STCAIYUN.TTF

华文细黑

STFANGSO.TTF

华文新魏

STXINWEI.TTF

华文行楷

STXINGKA.TTF

华文中宋

STZHONGS.TTF

楷体

simkai.ttf

隶书

SIMLI.TTF

宋体-方正超大字符集

SURSONG.TTF

幼圆

SIMYOU.TTF

(4)LineSpacing中设置行间距;

(5)Align和VerticalAlign分别代表静态框中的文字的水平对齐和纵向对齐;

(6)Rotation中设置文字的显示方向;

(7)复选框“PDFEmbedded”勾上,PDFCoding选UniGB-UCS2-H(ChineseSimplified),如果字体选择不是宋体时需要选择Identity-H(Unicodewithhorizontalwriting);

(8)StaticText中可以更改静态文字(双击框也可以更改);

(9)Border中是设置该属性的边框。

图6

七、在主窗体的“Library”中设置“Field”和变量(见图7)。

右键点“Field”选“添加”–“Field”,在对话框中输入Field的Name(名字)和Description(描述—路径值)。

Name(名字)的值可以为任意字符,Description的值为系统中某字段的名称或者XML文件中的路径。

统计报表中Description的值为某个字段在XML文件中的路径,在其它类型报表中Description的值为档案系统中某字段的名称,除了数据库字段外,还必须增加rows字段,并fieldDescription设置报表所需打印的行数。

图7

八、双击”Library”中的”Fields”会看到刚才添加的”Field”,左键按住”件号”拖到表格中,Field就会在框中了,右键可设置”Filed”框的各种属性(和静态字段框一样的),继续增加其他Field并拖到表格中,调整好位置和宽度。

九、主窗体菜单“Data”中的“连接/资料来源”是设置数据源的(见图9),点击“连接/资料来源”后系统弹出“Connections/Datasources”对话框(见图10)。

图9

一十、在“Connections/Datasources”对话框中点”new”,选”XMLfiledatasource”,如下图:

一十一、单击“next”按钮,输入”name”(名字)、选中”UsethereportXpathexpressionwhenfillingthereport”、点“Browse”选择xml文件数据源,注:

关于XML文件需要从系统的定义档案模版,选择中相应模版的结构,在“报表”页面,增加报表页面里有个下载样例数据。

选完后,可以点下方的”Test”测试是否通过。

(见图11)

图11

一十二、在主窗体中选择“Data”–“报表查询”,系统弹出“ReportQuery”对话框,在“ReportQuery”对话框中,“Querylanguage”设置为“Xpath”,输入XPath路径(测试数据中为/data/descendant:

:

Package/Description)。

(如图14)

图14

一十三、在主窗体中,点击数据源下拉列表,从中选择数据源。

(如图15)

图15

一十四、编译并执行报表。

报表的执行包括无数据执行和有数据执行。

(如图15)

有数据浏览

无数据浏览

编译

图15

附注:

报表设计一些技巧

1、报表设计器属性

PDF格式:

高度、宽度参数是数字30都代表1CM;

如:

ColumnHeader的高度设置为5CM,此时需要设成150

EXCEL格式:

高度为28.85代表1cm,宽度为30.05代表1cm。

如:

ColumnHeader的高度设置为5CM,此时需要设成144。

打印条件设置

2、newBoolean(!

$F{题名}.equals(null)),是指当题名字段不为空时打印,也可通过勾选TextField属性中的Blankwhennull来实现(注:

excel报表中由于线条显示是需要通过textField边框来实现,最好习惯使用Blankwhennull来实现字段值为空时打印空白)

3、newBoolean($F{题名}.length()>117),是指当题名字段的长度大于117时打印

4、newBoolean($V{REPORT_COUNT}.intValue()%11==0),是指报表的行数为11时出现,一般用于报表底部粗线的打印条件

5、$F{起止日期}.substring(0,4),是指截取起止日期的前四位,用截取函数时,最好加上条件,即newBoolean($F{起止日期}.length()>4),否则如果起止日期为空时,报表就无法正常打印了,如果想从第五位开始取4位的话,$F{起止日期}.substring(4,8)

6、newBoolean(!

$F{案卷题名}.equals(null)&&$F{案卷题名}.split(";").length==5),是指题名内容里有四个“;”号;

7、$F{案卷题名}.split(";")[1],是指出题名的第二段

8、newBoolean($F{案卷题名}.indexof(";")==-1),判断案卷题名中是否包含";",若不包含返回值为-1。

9、如报表需要按什么分组打印,可增加的一个字段group,并设置原卷号_2;属类号_1,是指按原卷号与属类号分组打印。

10、如果报表是复合报表,取案卷库字段用_1,取卷内库字段_2

11、newInteger($F{文件标题}.toString().trim().length())取文件标题的实际长度。

12、newInteger(Integer.parseInt($F{案卷号}.toString().trim())把字符型转换为整型。

13、取文件形成日期的月

1、打印条件

newBoolean(newString($F{文件形成日期}.replaceAll("/","-")).indexOf("-")>0)

2、输出值

newInteger(newSimpleDateFormat("yyyy-MM-dd").parse($F{文件形成日期}.replaceAll("/","-")).getMonth()+1).toString()

IReport介绍

什么是iReport?

iReport是一个能够创建复杂报表的开源项目,并且它能调用JasperReports库应用于任何一种java应用程序。

本身是分布式的且由符合GNU通用公共许可的百分之百纯java编写。

由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。

必要条件:

iReport需要SunJava2SDK1.4以上版本;为了能编译jasper文件就必须安装完整的java2(JDK),不光是(JRE)这个运行环境。

如果你还想编译iReport源代码,你还要安装JakartaAntversion1.6以上版本。

硬件方面,类似于java的环境,iReport也占很多的RAM,所以它也需要至少256Mb的内存和至少20Mb的磁盘空间。

报表结构

这章我们将分析报表的构成,来观察一下它由那几部分构成,当用数据打印时这几部分是如何运转的。

Bands

一个报表依靠“type”页来定义说明。

它被分成不同水平的一份被叫做bands。

当报表加入数据去打印时,这些部分被印刷很多次依照他们自身的属性(依照报表创建者设计的规则)。

举个例子,pageheader被重复的打印在每页的开始部分,这样的话,每个band都会重复的打印每一单一的记录。

这个“type”页被分成9个预先确定的bands作为新组被加进去。

事实上,iReport控制每一个头条(Groupheader)和一个摘要条(Groupfooter)为每一个组。

图4.1

一个带总是和页的宽度一样(左右的空白除外)然而它的高度,即使已经被设计好,但可能还会依据被包含在内的元素的实际来打印;它能够自由的延长靠近页底。

这种特色的出现在bands包含一个subreports或者textfield时纵向的内容。

通常情况下,bands的高度被用户指定一个“minimalheight”。

不是所有的bands能依照内容被这个外力改变,特别是:

ColumnFooter,PageFooter和LastPageFooter.所有的band高度的总和(除了background)总是小于或等于页的top和bottome之间的最小高度。

Title

这是首先看到的band。

它被创建仅仅一次,可能被打印在每一分开的页。

耍点小聪明,你能利用这个模拟一个无效的subreports(随后我将看看如何做)。

关于尺度的确认,它是不可能躲过去的,在报表页的高度设计期间。

Asregardstheadmitteddimensions,itisnotpossibletoexceed,

duringdesigntime,thereportpageheight(包含top和bottome标记之间)。

如果title被打印在几张单独的页面上,这个band的高度不用被包括在整个band的高度之内的,一般低与page

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1