ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:1,011.78KB ,
资源ID:25078792      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25078792.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(IReport报表制作概述最新版模板.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、IReport报表制作概述最新版模板IReport制作报表一、启动iReport后,点击菜单”档案” “开启新档” (见图1),弹出窗口“Report properties”。图1二、在窗口“Report properties”中可定义报表的名称、尺寸、定位及报表边界值等属性(见图2)。“定位”下拉列表中包含两个选项“Portrait”和“Landscape”,其中Portrait代表纵向报表,Landscape代表横向报表),下面以制作”归档文件目录”为例子来介绍如何制作报表。三、图2 四、定义报表名称及定位等属性后,点击“OK”按钮系统弹出报表设计的主窗体。在窗体的左下方点击右键,弹出菜单

2、“栏的属性”(见图3)。图3五、选择该菜单,在弹出窗体中设置各个栏的高度(见图4)。设置方法如下:选中某个栏后输入高度值,点击“Apply”按钮。对不需要显示的栏设置其高度值为“0”即可,注意:档案的报表最常用的栏目为:columnHeader、detail、columnFooter。六、图4七、在上方选取”静态字段”工具(T图标),再在”columnHeader”栏中画出来(见图5),以同样的方法增加其它所有静态的文字。columnHeader栏里面的图表、文字一页只会显示一次,Detail栏中的会根据条件循环显示,直到页面不够画才换一页显示。图5八、右键单击画出的静态字段框选”属性”,在弹

3、出的对话框中(见图6)设置其它属性:Font选项卡中设置字体的相关属性。(1)在Font Name 选字体;(2) Size选字体大小;(3)PDF Font Name 设置或选择相关的字段 ,注意如果在Font Name选的不是宋体,而是其它字体时,需要通过复制粘贴功能把相应的字体替换为下表中相应的字体,字体对照表如下:字体名称字体名字宋体STSong-Light方正舒体FZSTK.TTF方正姚体FZYTK.TTF仿宋体simfang.ttf黑体simhei.ttf华文彩云STCAIYUN.TTF华文细黑STFANGSO.TTF华文新魏STXINWEI.TTF华文行楷STXINGKA.TTF

4、华文中宋STZHONGS.TTF楷体simkai.ttf隶书SIMLI.TTF宋体-方正超大字符集SURSONG.TTF幼圆SIMYOU.TTF(4)Line Spacing中设置行间距;(5)Align和Vertical Align分别代表静态框中的文字的水平对齐和纵向对齐;(6)Rotation中设置文字的显示方向;(7)复选框 “PDF Embedded”勾上, PDF Coding 选 UniGB-UCS2-H (Chinese Simplified),如果字体选择不是宋体时需要选择Identity-H (Unicode with horizontal writing) ;(8) St

5、atic Text中可以更改静态文字(双击框也可以更改); (9) Border中是设置该属性的边框。图6九、在主窗体的“Library”中设置“Field”和变量(见图7)。右键点“Field”选“添加” “Field”,在对话框中输入 Field的Name(名字)和Description(描述路径值)。Name(名字)的值可以为任意字符,Description的值为系统中某字段的名称或者XML文件中的路径。统计报表中Description的值为某个字段在XML文件中的路径,在其它类型报表中Description的值为档案系统中某字段的名称,除了数据库字段外,还必须增加rows字段,并fie

6、ld Description设置报表所需打印的行数。图7十、双击”Library”中的”Fields”会看到刚才添加的”Field”,左键按住”件号”拖到表格中,Field就会在框中了,右键可设置”Filed”框的各种属性(和静态字段框一样的), 继续增加其他Field并拖到表格中,调整好位置和宽度。十一、 主窗体菜单 “Data”中的“连接/资料来源”是设置数据源的 (见图9),点击“连接/资料来源”后系统弹出“Connections/Datasources”对话框(见图10)。图9十二、在“Connections/Datasources”对话框中点”new”,选”XML file data

7、 source” ,如下图:十三、十四、单击“next”按钮,输入”name”(名字)、选中”Use the report Xpath expression when filling the report ”、点 “Browse” 选择xml文件数据源,注:关于XML文件需要从系统的定义档案模版,选择中相应模版的结构,在“报表”页面,增加报表页面里有个下载样例数据。选完后,可以点下方的”Test”测试是否通过。(见图11)十五、图11十六、在主窗体中选择 “Data” “报表查询”,系统弹出“Report Query”对话框,在“Report Query”对话框中,“Query languag

8、e”设置为“Xpath”,输入XPath路径(测试数据中为 /data/descendant:Package/Description)。(如图14)图14十七、在主窗体中,点击数据源下拉列表,从中选择数据源。(如图15)图15十八、编译并执行报表。报表的执行包括无数据执行和有数据执行。 (如图15)图15附注:报表设计一些技巧1、报表设计器属性PDF格式:高度、宽度参数是数字30都代表1CM; 如:ColumnHeader的高度设置为5CM,此时需要设成150EXCEL格式:高度为28.85代表1cm,宽度为30.05代表1cm。如:ColumnHeader的高度设置为5CM,此时需要设成14

9、4。打印条件设置2、new Boolean(!$F题名.equals(null),是指当题名字段不为空时打印,也可通过勾选Text Field属性中的Blank when null来实现(注:excel报表中由于线条显示是需要通过textField边框来实现,最好习惯使用Blank when null来实现字段值为空时打印空白)3、new Boolean($F题名.length() 117) ,是指当题名字段的长度大于117时打印4、new Boolean($VREPORT_COUNT.intValue() % 11 = 0),是指报表的行数为11时出现,一般用于报表底部粗线的打印条件5、$F

10、起止日期.substring(0,4),是指截取起止日期的前四位,用截取函数时,最好加上条件,即new Boolean($F起止日期.length() 4),否则如果起止日期为空时,报表就无法正常打印了,如果想从第五位开始取4位的话,$F起止日期.substring(4,8)6、new Boolean(!$F案卷题名.equals(null) & $F案卷题名.split(;).length=5) ,是指题名内容里有四个“;”号;7、 $F案卷题名.split(;)1,是指出题名的第二段8、new Boolean($F案卷题名.indexof(;)=-1),判断案卷题名中是否包含;,若不包含返

11、回值为-1。9、如报表需要按什么分组打印,可增加的一个字段group,并设置原卷号_2;属类号_1,是指按原卷号与属类号分组打印。10、如果报表是复合报表,取案卷库字段用_1,取卷内库字段_211、new Integer($F文件标题.toString().trim().length()取文件标题的实际长度。12、new Integer(Integer.parseInt($F案卷号.toString().trim() 把字符型转换为整型。13、取文件形成日期的月1、打印条件new Boolean(new String($F文件形成日期.replaceAll( /, - ).indexOf(-)

12、0)2、输出值new Integer(new SimpleDateFormat(yyyy-MM-dd).parse($F文件形成日期.replaceAll( /, - ).getMonth() + 1).toString()IReport介绍什么是iReport?iReport是一个能够创建复杂报表的开源项目,并且它能调用JasperReports库应用于任何一种java应用程序。本身是分布式的且由符合GNU通用公共许可的百分之百纯java编写。由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。必要条件:iReport需要Sun Java 2 SDK 1.4以上版本; 为了能编译j

13、asper文件就必须安装完整的java2(JDK),不光是(JRE)这个运行环境。如果你还想编译iReport源代码,你还要安装Jakarta Ant version 1.6以上版本。硬件方面,类似于java的环境,iReport也占很多的RAM,所以它也需要至少256Mb 的内存和至少20Mb的磁盘空间。报表结构这章我们将分析报表的构成,来观察一下它由那几部分构成,当用数据打印时这几部分是如何运转的。Bands一个报表依靠“type”页来定义说明。它被分成不同水平的一份被叫做bands。当报表加入数据去打印时,这些部分被印刷很多次依照他们自身的属性(依照报表创建者设计的规则)。举个例子,pa

14、ge header 被重复的打印在每页的开始部分,这样的话,每个band都会重复的打印每一单一的记录。这个 “type” 页被分成9个预先确定的bands作为新组被加进去。事实上,iReport控制每一个头条(Group header)和一个摘要条(Group footer)为每一个组。图4.1一个带总是和页的宽度一样(左右的空白除外)然而它的高度,即使已经被设计好,但可能还会依据被包含在内的元素的实际来打印;它能够自由的延长靠近页底。这种特色的出现在bands包含一个subreports或者text field时纵向的内容。通常情况下,bands的高度被用户指定一个“minimal heig

15、ht”。不是所有的bands能依照内容被这个外力改变,特别是:Column Footer,Page Footer 和 Last Page Footer.所有的band高度的总和(除了background)总是小于或等于页的top和bottome之间的最小高度。Title这是首先看到的band。它被创建仅仅一次,可能被打印在每一分开的页。耍点小聪明,你能利用这个模拟一个无效的subreports(随后我将看看如何做)。关于尺度的确认,它是不可能躲过去的,在报表页的高度设计期间。As regards the admitted dimensions, it is not possible to ex

16、ceed,during design time, the report page height (包含top和bottome标记之间)。如果title被打印在几张单独的页面上,这个band的高度不用被包括在整个band的高度之内的,一般低与page的高度。Page header这个band允许你设计一个page的header。它的高度在设计阶段被定义,通常不会改变在创建报表的过程中(除非有垂直插入相当大的成分,例如这个textfields包含很长的文本和subreports)。页面的header出现在整个打印页的相同位置在设计阶段期间。Title和Summary bands不包括page he

17、ader 在打印一个单独的页时。Column header这个band在每一个详细的列开始时被打印。这column的概念一会儿再解释。通常的,包含标签的tabular报表的列的名字被插入在这里。Group header一个报表能容纳零个到多个group bands,它允许收藏详细的记录在不动groups。有group header ,自然要有group footer(他们能能独立的展现和取消)。不同的属性被联合在一个group。他们确定他们的行为功过查看 graphic point。它是可能的影响一个新的页的group header或者一个newcolumn,打印这个band在整个页的下面,如

18、果这个bands超出了一个单独的页(以一个组的级别作为一个page header)。它是可能的去修改被请求的高度并打印它:如果它是超过其他的高度,这个group将被打印在一个新的page(特别要注意它的值由于太长,在打印时会无限的循环),等等。接下来我们将详细讨论groups。DetailDetail band 将每个通过datasources读到记录响应的传给打印机。很可能,大多数的元素都被放在这里。Group footer这个band表示一个group的结束。通常它包含的区域显示小计或者分开图解元素,作为一条线,等等。Column footer这个band的出现表示每一个column的结束

19、。它的尺寸是不能被调整的(即使它包含一个相当大的元素,像subreports或者文本域)。Page footer这是页脚。它和page header同时出现在每页。同column footer一样,他是不足够大的。Last Page footer如果你想使最后一页的footer与其他的页的footers不一样,这时可能就要用到这个band。如果这个band的高度是0,他将被完全的忽视,其他确定结构的普通页也能适用在最后一页。它首次出现在JasperReports的0.6.2版本。Summary在其他的地方这个组名被叫做report footer。它允许你在report的最后插入你想要的任何内容

20、关于总结等。BackgroundBand第一次出现在JasperReport0.4.6版本时。它由于许多用户的坚持不懈的要求能够创建水印和similar effects而引入 (整个页面的结构). 它可以具有最大的高度以至于和页面高度一样。报表属性 (1)报表的名字是第一个属性。这个名字是本地命名,它和源文件的名字是相互独立的,它仅仅被JasperReports library 调用(例如:命名一个报表编译后的java文件)。(2)页面的尺寸大概是报表最重要的属性。iReport 和 JasperReports使用的最小量度单位是像素。(像素大小是75点每英寸,每英寸的点数)。然而,我们经常使

21、用的报表的量度单位更为平常,像厘米,英寸或毫米。下表列出了量度标准和像素大小。由于尺寸管理基于像素,所以当我们用不同的量度看同一数据会发生很大改动。(注:每30像素为1CM)Page typeDimensions in pixel(像素)LETTER612 x 792NOTE540 x 720LEGAL612 x 1008A02380 x 3368A11684 x 2380A21190 x 1684A3842 x 1190A4595 x 842A5421 x 595A6297 x 421A7210 x 297A8148 x 210A9105 x 148A1074 x 105B02836 x 4

22、008B12004 x 2836B21418 x 2004B31002 x 1418B4709 x 1002B5501 x 709ARCH_E2592 x 3456ARCH_D1728 x 2592ARCH_C1296 x 1728ARCH_B864 x 1296ARCH_A648 x 864FLSA612 x 936FLSE612 x 936HALFLETTER396 x 612_11X17792 x 1224LEDGER1224 x 792表4.1通过修改高度和宽度,你就可以创建任意大小的报表。(3)报表页的定位有landscape和portrait选项,Portrait代表纵向报表,La

23、ndscape代表横向报表。(4)页面的空白尺寸依赖于page Margin选项卡的四个输入值来确定。(5)一个报表页被几条平行线分开为几部分:bands。column和记录集是没有关系的,只和detail band有关系。意思就是说一条记录用十个fields和一个表的话,不需要十列。然而,这些元素可以用table实现恰当的放置。十列将导致一个很长的记录列(非常狭窄的横条)被打印。下面的例子将告诉你怎样设置值为一个简单的列报表在A4纸上。字段数的值是1,它的宽度和整个页面一样,除了空白。列之间的空间没有意义,所以它的值是0。(注:设计脊背、照片卡片等报表时需要) 当“字段数“输入2。iRepo

24、rt将自动的计算列的宽度依照页的空白和宽度。如果你想在两列之间插入空白,那就为“spacing”填写一个值。 所有的空白,列的宽度和每列之间的空白,加起来要小于页的宽度。如果不检验这种情形的话可能导致错误产生。(6)脚本是一个java类,它的方法执行在报表生成期间,通过触发一个特殊的事件,在scriptlet选项卡,可以指定一个外部的脚本(java类)或激活iReport的内部脚本支持。如果不想使用脚本,那就设置下拉菜单的值为:Dont use scriptlet class或者在输入区域填写你所要使用的类的名字。(7)在”more.”选项卡可以对打印进行设置。Title on a new p

25、age选项:Title指定为一个新页的选项,打印在每页的开始,在title之后页面将发生大的变化。图4.12和4.13展示报表的结果,图4.11显示报表。图4.11Title被打印总是一样的,而且在每页的顶部。图4.12显示使用缺省设置打印的结果:图4.12图4.13显示打印的结果如果“title on a new page “选项设置为true。像你看到那样,没有一行其他的band被打印在title页,甚至没有page header或page footer。然而这页仍然计算这页的总数。图4.13Summary on a new page选项:这个选项完全和先前的选项一样,只是summary

26、band被打印在最后一页。现在,如果你选择了这项,那新页将包含summary band。Floating column footer 选项:这个选项允许你加强column footer band的打印,直接在最后detail band(或group footer)后显示而不不在column后显示。当你想用报表元素创建表格时使用这个选项。 (详细请看JasperReports tables.jrxml) 打印顺序:Print order用来决定如何组织打印多列数据。缺省的print order一是vertical,它是垂直的打印记录直到页末开始打印新的一列。Horizontal print or

27、der prints 以横向打印记录当一行占据页宽后开始打印另一行。图4.14和4.15:图4.14 图4.15这两个图清晰的显示这个两个选项的概念。如你看到的,每个名字按字母的顺序打印。图4.14显示了纵向的打印(第一列打印完接着打印第二列),图4.15显示了横向的打印(打印完所有的行显示出整个列)无数据打印(如果没有数据时):当提供一个空的数据打印时(或者sql查询没有返回记录) 一个空文件被创建(或返回是一个零字节长度的流)。这个缺省的行为能被修改通过指定其他的,在没有数据时。(指when no data)。表4.2概述了可能的值和意义。OptionDescriptionNoPages缺

28、省值,最后的结果为空。BlankPage返回一个空白页。AllSectionsNoDetails返回整个页的组成,出了detail band表4.2i18n:il8n选项卡用来设置片段的参数。Resource Bundle Base nameResource Bundle base name 是一个参数名,当你想使报表国际化时。Resource Bundle 包含用在报表中的标签,句子,表达式翻译文本以指定的语言。这个语言符合一个特殊的文件。base name表示文件名,能帮助你找到这个文件用正确翻译。为了用精确的语言来重建文件名,一些language/country首位字母大写(e.g._i

29、t_IT, for Italian-Italy)和.properties扩展名作为前缀。XML源文件的编码设置:保存源文件的缺省编码格式是UTF-8. 然而,如果你想用一些你需要的XML编码格式,你就需要指定正确的charset(UTF-8)。其他常用的可以选择编码格式列表(“ISO-8859-1” 广泛应用于欧洲).变量的涵义变量:$VPAGE_NUMBER代表当前页数(可以是页码也可以是页数,通过TextField的计算时间的不同值来设置)$VPAGE_COUNT当前页面中记录的数目$Vgroupname_COUNT代表当前组的记录数eg:如果组是根据$Fthe_city分组,组名是Cit

30、yGroup的话,那么此变量为$VCityGroup_COUNT$VCOLUMN_NUMBER列号码$VCOLUMN_COUNT当前列中记录的数目(是当前页里行的序号,在新页上会重置为1)$VREPORT_COUNT当前文档中数据源记录数目当需要设置起始页码时,如页码第1页需从5开始打印,则1、 打印报表时设置起始页码为42、 在设计的报表中添加一个parameters,对应设置为后台传递页码字段“PageNoInit”,且类型为integer3、 报表中添加的字段值设置为new java.lang.Integer($PPageNoInit.intValue()+$VPAGE_NUMBER.intValue()

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

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