IReport报表制作概述最新版模板文档格式.docx
- 文档编号:14264845
- 上传时间:2022-10-21
- 格式:DOCX
- 页数:23
- 大小:1,007.46KB
IReport报表制作概述最新版模板文档格式.docx
《IReport报表制作概述最新版模板文档格式.docx》由会员分享,可在线阅读,更多相关《IReport报表制作概述最新版模板文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
图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)
有数据浏览
无数据浏览
编译
附注:
报表设计一些技巧
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IReport 报表 制作 概述 最新版 模板
![提示](https://static.bdocx.com/images/bang_tan.gif)