




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
报表功能的实现前言报表的生成主要包括报表模板的建立和生成代码的开发。在华腾公司小企业信贷系统的开发中,模板的生成主要是使用iReport软件来进行的,在模板生成之后会将其配置到小企业信贷系统的相关目录下,之后会在程序代码的编写过程中调用其功能并向其传递参数。以上叙述的是软件开发过程中生成报表的主要过程,本文档以下内容将对整个过程涉及到的相关信息进行简单介绍。一iReport介绍本部分主要介绍iReport生成报表功能的简单应用,和软件开发中使用到的部分功能,参照文档为iReport中文详细教程,其他进阶功能在本文中不做介绍1.1 iReport简介iReport 是一个能够创建复杂报表的开源项目,它100%使用Java 语言编写,是目前全球最为流行的开源报表设计器之一。由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。以下是iReport 一些比较突出的功能: 拖拽式,所见即所得的报表编辑器; 多样的向导来简化复杂的报表设计任务; 超过30 个排版和格式化工具; 报表可转换为PDF HTML EXCEL FLASH CSV RTF TXT OpenOffice Java2D JRViewer 等格式; 支持所有有效的数据源。如:JDBC,CVS,Hibernate,JavaBean 等; 用户自定义数据源; 无限次数的撤消/重做; 集成脚本(scriptlet)支持; 内置图表支持:超过20 种的图表支持。并可扩展; 国际化:集成超过15 种语言; 报表模板与报表库样式管理; 源文件的备份; 文档结构浏览器。1.2 结构在本章中我们将分析一下报表的结构,看一下报表中每一部分的作用是什么,以及在生成报表的时候每一部分将产生什么样的效果。栏(Bands)报表被垂直分成若干个部分,每一个部分我们叫它“band”。每一个band 都有自己的特性,在报表生成的时候有些会打印一次,有些会打印多次。如下图。接下来我们就对每一种类型的band 分别进行介绍。Title Band:title 段只在整个报表的第一页的最上面部分显示,除了第一页,不管报表中有多少个页面也不会再出现Title band 中的内容。就是报表的标题。pageHeader Band:pageHeader 段中的内容将会在整个报表中的每一个页面中都会出现,显示的位置在页面的上部。如果是报表的第一页,pageHeader 中的内容将显示在Title Band 下面,除了第一页以外的其他所有页面中,pageHeader 中的内容将显示在页面的最上端,即页眉。pageFooter Band:显示在所在页面的最下端,即页脚。Detail Band:报表内容段,在这个Band 中设计报表中需要重复出现的内容,Detail 段中的内容每页都会出现。columnHeader Band:针对Detail Band 的表头段,一般情况下在这个段中画报表的表头。columnFooter Band:针对Detail Band 的表尾段。Summary Band:表格的合计段,出现在整个报表的最后一页中的Detail band 的后面,一般用来统计报表中某一个或某几个字段的合计值。lastPageFooter:内容将会出现在报表的最后一页的最后部分。为了实际演示各个band 的生成效果,我们可以在报表中的各个band 里添加不同的对象,以测试各个band的作用。步骤:第一步:新建文档,报表名称命名为:MyFirstReport,然后单击“OK”。第二步:设置JDBC 连接参数单击“Date连接/资料来源”,出现如下界面:然后单击“New”,出现如下界面:选择“Database JDBC connection”项,单击“Next”,设置好参数,单击“Test”,如果测试成功单击“Save”保存,如果测试没有成功,请检查一下以上步骤。第三步:单击Data报表查询。在query editor 里输入下面的语句:select * from tb_employee,然后单击“OK”第四步:单击“不会变动的文字”按钮,添加各个Band 内容。在报表中的各个band 分别放置如下内容:第五步:将要显示的字段拖到“detail”栏内第六步:单击“执行报表”查看结果:启动报表,生成的效果如下:最后一页:1.3 字体和样式一个style 是一个预定义的属性的集合,用来控制元素的外观(比如背景色、边框线、字体等)。我们可以为我们的报表定义一个默认的style。要为一个元素应用一个style,我们可以选择该元素并从元素的属性窗口common 标签里的style 列表选择你需要的style。Fonts 是用来描述text 的外观特征。1.3.1、字体(Font)通常定义一个字体,我们需要做下面几件事情:-Font name(字体名称)-Font dimension(字体大小)-Attribute(属性,诸如bold-faced,italics,underlined,barred)如果我们需要导出PDF 格式的报表,需要为字体添加下面的信息:PDF Font Name:PDF 字体名称(预先定义PDF 字体或一个在classpath 里的TIF 文件的名称)。PDF Embedded:当使用一个外部的TTF 类别的字体文件生成报表时是否把它包含在PDF 文件里的一个标志。PDF Encoding:指定一个字体编码名称。单击“格式化报表字形”可以创建自定义的字体。如果我们需要将报表导出成PDF 格式,将会使用指定的PDF 字体,其它属性将会被忽略掉。1.3.2、样式(Styles)我们可以选择主菜单的“Format Styles” 来定义一个style。如下图所示:单击“格式化Styles”可以创建自定义的样式。点击“New”按钮添加一个新的style。在弹出的窗口中我们可以定义一些属性,如果我们需要某个属性的值,我们可以点击按钮来实现。在每个元素属性窗口的“Common”标签里有一个style 属性下拉框,如果我们需要为一个元素设置一个style,我们可以在这个下拉框里选择我们定义好的style,这样就可以把一个style 应用到一个元素上面了。我们可以为一个Style 加一个动态的条件,当条件满足的时候采用某个style,否则就采用默认的style。举个例子,还是以数据库里的employee 表为例,如果员工的工龄大于3 时,我们让工龄以红色加粗的字体显示。打开Query 窗口,输入下面的查询SQL:Select * from tb_employee新建一个style,在弹出窗口的style conditions 里新建一个conditions,在表达式窗口里输入下面的表达式:($Femployee.workingYValue()2?new Boolean(true):new Boolean(false)如下图:新建的style 如下图:接下来把员工姓名和工龄到报表当中,并将我们新建的style 应用到薪水这个field 上,如下图:启动查看运行效果如下:1.4 相关的函数设置刚才我们已经看到了,在iReport中也是可以设定一些函数的,这些函数会更有效的帮助我们实现报表中的一些功能和统计报表中的数据,在报表生成中可以通过一些函数来简化我们的开发过程:表中$VT2会对$FA2行的数据进行一个统计行的操作,而这是通过报表变量(Variables)实现的。Variables 是用来存储对某些字段计算后的结果,比如sum 等。在iReport中Variables 也是有数据类型的。你必须为一个Variable 实例声明一个java类型。上图显示了如何创建一个新的Variable。看一下每个字段的意思:Variable name: variable 的名称,我们可以在表达式中通过下面的方法来引用一个Variable:$Vvariable nameVariable Class Type : variable 也可以是任意一个Java 类型,在下拉框里你可以看到大多数常用的类型,如java.lang.String 等。Calculation Type : 一个计算类型可以用来计算结果。当一个预先定义的值是“nothing”时,那它的意思是不做任何计算。ireport 会根据指定的计算类型和从数据源中获取的每一条记录计算出结果,然后去更改variables 的值。做一个变量的计算意为着去执行一个表达式,如果计算类型为nothing,那么ireport 将会根据variable expression 为variable 赋值。计算类型列举如下:类型:说明Nothing :不做任何计算Count :对记录集数量进行循环累加(计算有多少条记录),这和sum 不一样,sum 的计算是针对数字的,会对数字进行累加操作。Distinct Count :也是对计算有多少条记录的累加操作,只是在累加过程中会忽略已经出现的记录(比如某个字段的值已经出现后就不会再记录)Sum:添加每一次表达式(这里的表达式只能是数字类型)迭代的结果到变量中Average:它用算术的方法来计算表达式累加结果的平均值Lowest:返回表达式最小值Highest:返回表达式最大值StandardDeviation:根据表达式所有值返回标准方差Variance:返回表达式接收到的值的变化System:不做任何计算并且表达式也是没有价值的,在这样的用例中,报表引擎仅仅保存内存中variable 的最后的值。Reset Type : 重置类型。表示一个变量在什么时候做重置操作。reset 类型如下:类型名称:说明None :任何时候都不做重置操作Report :在报表创建的时候Variable 才会对表达式进行初始化Page Variable :的初始化在每一页都做一次reset 操作Column :Variable 的初始化在每一列都做一次reset 操作(这里的Column 指的是report 里的page的column,每个报表的column 可以通过报表的Editreport properties 窗口进行修改)Group :Variable 的初始化在每一个组都做一次reset 操作Reset Group :如果group reset type 被勾选,这里就要选择group 名称(关于group 可以参考后面的章节)。Increment : 它指定当一个variable 值被评估或当你想要这个组采用类似于subtotals 或averages 来计算,increment 类型可以参考下面的表。Increment Group : 如果这个group 的increment type 被勾选它将指定这个组决定variable 的increment。Custom Incrementer Factory Class : 指定一个实现了JRIncrementerFactory 接口的java 类名称,通常用来定义一些诸如sum 之类的非数字类型的操作。Variable Expression : 它是一个java 的expression,用来标识variable 每一次迭代的值。Initial Value Expression : 它是一个为variable 初始化时采用的expression.内置的variables:和parameters 一样,ireport 提供了一些内置的variables(这些由报表引擎直
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电工员工考试题及答案
- 企业项目执行与监控标准工具
- (正式版)DB15∕T 3259-2023 《羊肝细胞体外培养技术规程》
- 连锁餐饮食材供应链协议
- 三甲复评护理试题库及答案一
- 企业文档格式化与归档管理工具
- 23年护理技师考试题库及答案
- 单位焊工考试题及答案
- 产品质量安全功能稳定承诺书6篇范文
- 企业运营监控及评估报告工具
- 政治校本课程
- 抽油机井示功图分析判断1
- GB/T 39141.3-2022无机和蓝宝石手表玻璃第3部分:定性标准和试验方法
- 特劳特《定位》PPT通用课件
- GB/T 1732-1993漆膜耐冲击测定法
- 二十四节气演讲稿
- GA/T 2000.7-2014公安信息代码第7部分:实有人口管理类别代码
- 2023年安徽国贸集团控股有限公司招聘笔试模拟试题及答案解析
- 初中作文指导-景物描写(课件)
- 植物灰分的测定
- 实验室资质认证评审准则最新版本课件
评论
0/150
提交评论