




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IReport介绍什么是iReport?iReport是一个能够创建复杂报表的开源项目,并且它能调用JasperReports库应用于任何一种java应用程序。本身是分布式的且由符合GNU通用公共许可的百分之百纯java编写。由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。必要条件:iReport需要Sun Java 2 SDK 1.4以上版本; 为了能编译jasper文件就必须安装完整的java2(JDK),不光是(JRE)这个运行环境。如果你还想编译iReport源代码,你还要安装Jakarta Ant version 1.6以上版本。硬件方面,类似于java的环境,iReport也占很多的RAM,所以它也需要至少256Mb 的内存和至少20Mb的磁盘空间。报表结构这章我们将分析报表的构成,来观察一下它由那几部分构成,当用数据打印时这几部分是如何运转的。Bands一个报表依靠“type”页来定义说明。它被分成不同水平的一份被叫做bands。当报表加入数据去打印时,这些部分被印刷很多次依照他们自身的属性(依照报表创建者设计的规则)。举个例子,page header 被重复的打印在每页的开始部分,这样的话,每个band都会重复的打印每一单一的记录。这个 “type” 页被分成9个预先确定的bands作为新组被加进去。事实上,iReport控制每一个头条(Group header)和一个摘要条(Group footer)为每一个组。图4.1一个带总是和页的宽度一样(左右的空白除外)然而它的高度,即使已经被设计好,但可能还会依据被包含在内的元素的实际来打印;它能够自由的延长靠近页底。这种特色的出现在bands包含一个subreports或者text field时纵向的内容。通常情况下,bands的高度被用户指定一个“minimal height”。不是所有的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 exceed,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 header 在打印一个单独的页时。Column header这个band在每一个详细的列开始时被打印。这column的概念一会儿再解释。通常的,包含标签的tabular报表的列的名字被插入在这里。Group header一个报表能容纳零个到多个group bands,它允许收藏详细的记录在不动groups。有group header ,自然要有group footer(他们能能独立的展现和取消)。不同的属性被联合在一个group。他们确定他们的行为功过查看 graphic point。它是可能的影响一个新的页的group header或者一个newcolumn,打印这个band在整个页的下面,如果这个bands超出了一个单独的页(以一个组的级别作为一个page header)。它是可能的去修改被请求的高度并打印它:如果它是超过其他的高度,这个group将被打印在一个新的page(特别要注意它的值由于太长,在打印时会无限的循环),等等。接下来我们将详细讨论groups。DetailDetail band 将每个通过datasources读到记录响应的传给打印机。很可能,大多数的元素都被放在这里。Group footer这个band表示一个group的结束。通常它包含的区域显示小计或者分开图解元素,作为一条线,等等。Column footer这个band的出现表示每一个column的结束。它的尺寸是不能被调整的(即使它包含一个相当大的元素,像subreports或者文本域)。Page footer这是页脚。它和page header同时出现在每页。同column footer一样,他是不足够大的。Last Page footer如果你想使最后一页的footer与其他的页的footers不一样,这时可能就要用到这个band。如果这个band的高度是0,他将被完全的忽视,其他确定结构的普通页也能适用在最后一页。它首次出现在JasperReports的0.6.2版本。Summary在其他的地方这个组名被叫做report footer。它允许你在report的最后插入你想要的任何内容关于总结等。BackgroundBand第一次出现在JasperReport0.4.6版本时。它由于许多用户的坚持不懈的要求能够创建水印和similar effects而引入 (整个页面的结构). 它可以具有最大的高度以至于和页面高度一样。报表属性 (1)报表的名字是第一个属性。这个名字是本地命名,它和源文件的名字是相互独立的,它仅仅被JasperReports library 调用(例如:命名一个报表编译后的java文件)。(2)页面的尺寸大概是报表最重要的属性。iReport 和 JasperReports使用的最小量度单位是像素。(像素大小是75点每英寸,每英寸的点数)。然而,我们经常使用的报表的量度单位更为平常,像厘米,英寸或毫米。下表列出了量度标准和像素大小。由于尺寸管理基于像素,所以当我们用不同的量度看同一数据会发生很大改动。(注:每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 4008B12004 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代表纵向报表,Landscape代表横向报表。(4)页面的空白尺寸依赖于page Margin选项卡的四个输入值来确定。(5)一个报表页被几条平行线分开为几部分:bands。column和记录集是没有关系的,只和detail band有关系。意思就是说一条记录用十个fields和一个表的话,不需要十列。然而,这些元素可以用table实现恰当的放置。十列将导致一个很长的记录列(非常狭窄的横条)被打印。下面的例子将告诉你怎样设置值为一个简单的列报表在A4纸上。字段数的值是1,它的宽度和整个页面一样,除了空白。列之间的空间没有意义,所以它的值是0。(注:设计脊背、照片卡片等报表时需要) 当“字段数“输入2。iReport将自动的计算列的宽度依照页的空白和宽度。如果你想在两列之间插入空白,那就为“spacing”填写一个值。 所有的空白,列的宽度和每列之间的空白,加起来要小于页的宽度。如果不检验这种情形的话可能导致错误产生。(6)脚本是一个java类,它的方法执行在报表生成期间,通过触发一个特殊的事件,在scriptlet选项卡,可以指定一个外部的脚本(java类)或激活iReport的内部脚本支持。如果不想使用脚本,那就设置下拉菜单的值为:Dont use scriptlet class或者在输入区域填写你所要使用的类的名字。(7)在”more.”选项卡可以对打印进行设置。Title on a new page选项: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 band被打印在最后一页。现在,如果你选择了这项,那新页将包含summary band。Floating column footer 选项:这个选项允许你加强column footer band的打印,直接在最后detail band(或group footer)后显示而不不在column后显示。当你想用报表元素创建表格时使用这个选项。 (详细请看JasperReports tables.jrxml) 打印顺序:Print order用来决定如何组织打印多列数据。缺省的print order一是vertical,它是垂直的打印记录直到页末开始打印新的一列。Horizontal print order prints 以横向打印记录当一行占据页宽后开始打印另一行。图4.14和4.15:图4.14图4.15这两个图清晰的显示这个两个选项的概念。如你看到的,每个名字按字母的顺序打印。图4.14显示了纵向的打印(第一列打印完接着打印第二列),图4.15显示了横向的打印(打印完所有的行显示出整个列)无数据打印(如果没有数据时):当提供一个空的数据打印时(或者sql查询没有返回记录) 一个空文件被创建(或返回是一个零字节长度的流)。这个缺省的行为能被修改通过指定其他的,在没有数据时。(指when no data)。表4.2概述了可能的值和意义。OptionDescriptionNoPages缺省值,最后的结果为空。BlankPage返回一个空白页。AllSectionsNoDetails返回整个页的组成,出了detail band表4.2i18n:il8n选项卡用来设置片段的参数。Resource Bundle Base nameResource Bundle base name 是一个参数名,当你想使报表国际化时。Resource Bundle 包含用在报表中的标签,句子,表达式翻译文本以指定的语言。这个语言符合一个特殊的文件。base name表示文件名,能帮助你找到这个文件用正确翻译。为了用精确的语言来重建文件名,一些language/country首位字母大写(e.g._it_IT, for Italian-Italy)和.properties扩展名作为前缀。XML源文件的编码设置:保存源文件的缺省编码格式是UTF-8. 然而,如果你想用一些你需要的XML编码格式,你就需要指定正确的charset(UTF-8)。其他常用的可以选择编码格式列表(“ISO-8859-1” 广泛应用于欧洲).IReport制作报表一、 启动iReport后,点击菜单”档案” “开启新档” (见图1),弹出窗口“Report properties”。图1二、 在窗口“Report properties”中可定义报表的名称、尺寸、定位及报表边界值等属性(见图2)。“定位”下拉列表中包含两个选项“Portrait”和“Landscape”,其中Portrait代表纵向报表,Landscape代表横向报表),下面以制作”归档文件目录”为例子来介绍如何制作报表。图2 三、 定义报表名称及定位等属性后,点击“OK”按钮系统弹出报表设计的主窗体。在窗体的左下方点击右键,弹出菜单“栏的属性”(见图3)。图3四、 选择该菜单,在弹出窗体中设置各个栏的高度(见图4)。设置方法如下:选中某个栏后输入高度值,点击“Apply”按钮。对不需要显示的栏设置其高度值为“0”即可,注意:档案的报表最常用的栏目为:columnHeader、detail、columnFooter,高度值参数是数字30代表1CM。如:ColumnHeader的高度设置为150,detail的高度设置为45,其它的全部清为“0”,设置完成后关闭该窗口。图4五、 在上方选取”静态字段”工具(T图标),再在”columnHeader”栏中画出来(见图5),以同样的方法增加其它所有静态的文字。columnHeader栏里面的图表、文字一页只会显示一次,Detail栏中的会根据条件循环显示,直到页面不够画才换一页显示。图5六、 右键单击画出的静态字段框选”属性”,在弹出的对话框中(见图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华文中宋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) Static Text中可以更改静态文字(双击框也可以更改); (9) Border中是设置该属性的边框。图6七、 在主窗体的“Library”中设置“Field”和变量(见图7)。右键点“Field”选“添加” “Field”,在对话框中输入 Field的Name(名字)和Description(描述路径值)。Name(名字)的值可以为任意字符,Description的值为系统中某字段的名称或者XML文件中的路径。统计报表中Description的值为某个字段在XML文件中的路径,在其它类型报表中Description的值为档案系统中某字段的名称,除了数据库字段外,还必须增加rows字段,并field Description设置报表所需打印的行数。图7八、 双击”Library”中的”Fields”会看到刚才添加的”Field”,左键按住”件号”拖到表格中,Field就会在框中了,右键可设置”Filed”框的各种属性(和静态字段框一样的), 继续增加其他Field并拖到表格中,调整好位置和宽度。九、 主窗体菜单 “Data”中的“连接/资料来源”是设置数据源的 (见图9),点击“连接/资料来源”后系统弹出“Connections/Datasources”对话框(见图10)。图9十、 在“Connections/Datasources”对话框中点”new”,选”XML file data source” ,如下图:十一、 单击“next”按钮,输入”name”(名字)、选中”Use the report Xpath expression when filling the report ”、点 “Browse” 选择xml文件数据源,注:关于XML文件需要从系统的定义档案模版,选择中相应模版的结构,在“报表”页面,增加报表页面里有个下载样例数据。选完后,可以点下方的”Test”测试是否通过。(见图11)图11十二、 在主窗
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医类毕业考试题及答案
- 中医类医疗考试题库及答案
- 2025年工业领域CCS技术在工业物联网中的应用案例报告
- 中医师入职考试题及答案
- 中医试题及答案多选题
- 2025年能源与资源行业煤炭清洁高效利用研究报告
- 八国联军侵华课件
- 2025年事业单位工勤技能-安徽-安徽热处理工五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-安徽-安徽广播电视天线工一级(高级技师)历年参考题库含答案解析
- Malonyl-L-carnitine-d3-trifluoroacetate-生命科学试剂-MCE
- (完整版)50028-城镇燃气设计规范
- 正式策划案邮件和战报系统
- GB/T 27689-2011无动力类游乐设施儿童滑梯
- 广东省特种设备检测研究院东莞检测院招考【共500题含答案解析】模拟检测试卷
- 变压器有载分接开关的试验课件
- 独股一箭2010年20w实盘
- 钢结构技术(安全)交底记录
- 2021-2022学年最新沪科版九年级物理第十三章内能与热机综合练习练习题
- 外科护理学教案骨科部分
- 用句子记住高考英语单词-200个句子涵盖了全部高中单词(共37页)
- 学校及附属设施建设施工方案 (1)
评论
0/150
提交评论