ireport简介(为jasperreport服务的可视化报表设计器)

ireport简介(为jasperreport服务的可视化报表设计器)
⼀、iReport与JasperReport简介
1.1简介
JasperReport是报表的引擎部分,界⾯设计是⽤iReport。为什么选择这两个软件呢?因为这两个软件都是开源的,即免费的(虽然某些⽂档收费,但是磨灭不了我们使⽤它的理由)。
致幻JasperReport是⼀个报表制作程序,⽤户按照它制定的规则编写⼀个XML⽂件,然后得到⽤户需要输出的格式⽂件。它⽀持输出的⽂件格式包括PDF,HTML,XML,XLS,CSV等等。
⽤JasperReport做报表,可以分为两种⽅式:
1、直接利⽤程序定义⼀个报表
2、写⼀个xml⽂件来描述这个报表,通常需要借助于iReport
JasperReport做报表时⽤的都是底层的东西,如线条、静态⽂本等,底层的好处就是强⼤、容易控制报表,但缺点就是编写很⿇烦。庆幸的是,我们有iReport这个软件,这个软件完全是弥补JasperReport的不⾜,将底层编写推向可视化,⼤⼤的⽅便了我们。
1.2⼯作流程简介
JasperReport的⼯作流程:⾸先有个xml⽂件,从xml⽂件编译出.jasper类型的⽂件,⽽以后我们真正要使⽤的就是编译后的jasper⽂件。
上图为JasperReport的API⽰意图,可作为学习的参考。由iReport输出的⽂件中,对WEB应⽤可能有⽤的是jasper⽂件,当JAVA程序进⾏调⽤的时候,将把jasper⽂件转换成print类型,从⽽进⼀步到达其他格式的输出(如上图)。
⼆、安装与配置
2.1下载相关软件
对于较古⽼的版本,这⾥不做过多介绍,请参考本⽬录下其他⽂献。这⾥提⼀下,古⽼版本需要额外下载ANT(JAVA的build⼯具)以
连平中学及iTextAsian.jar(⽤以⽀持中⽂的jar包)等。
本⼈⽤的产品版本:iReport 2.0.5-windows版本;JasperReport 2.0.5版本;JDK 1.5.0_4版本。
注:在新的iReport版本中,已经包含了JasperReport的jar包,不需要下载JasperReport包了,但是,要更多的了解JasperReport,还是推荐下载完整的软件包,以学习它的源代码和例⼦。还有,新版本的iReport带有字体包,不需另下。
2.2 安装软件
⾸先安装JDK,⼀路NEXT即可。
其次,安装iReport,由于新版本对windows⽀持较好,所以和JDK⼀样,⼀路NEXT即可。
注:旧版本需要对环境变量进⾏配置,此篇⽂章介绍的版本以及更新的版本均不需要⼿动配置环境变量。
2.3 其他相关
您还需要准备⼀个数据源(如果需要做动态报表的话),⼤部分情况是⼀个数据库。笔者使⽤的是Oracle 9i的数据库。
三、iReport的基本使⽤
先看使⽤界⾯:
下⾯开始初步尝试。
1.新建报表
弹出对话框如下:
还有许多其他的选项,中⽂可以理解。有个XML编码,可以⼿动输⼊,也可保持默认,点击”OK”创建新表完成。低碳生活处处可为
注:iReport不会⾃动保存,需要⼿动保存,建议多保存。
2.报表的结构
新建的报表如下:
⼀个报表的结构⼤致是⼏个部分:title、pageHeader、columnHeader、detail、columnFooter、pageFooter、lastPageFooter、summary以及groupHeader、groupfooter。
·Title:每个报表⼀般会有⼀个名字,⽐如×××销售报表,title就是搁置这个名称的最好地⽅了,当然你也可以根据需要搁置在合适的地
⽅。Title只在第⼀页出现。
·pageHeader:报表的⼀些公共要素,⽐如页码、创建时间、创建⼈等信息放置在这⾥是⽐较好的选择。
·columnHeader:⽆可⾮议的这⾥是放置列的名称,记住不是列数据。
·detial:放置需要循环输出的数据,⽐如销售记录数据。
硝烟岁月·columnFooter:放置列级别的统计计算值或是列的说明。
·pageFooter:放置页级别的统计值或是页的说明。
·lastPageFooter:最后⼀页特殊的格式,可以放置总结等。
·Summary:可能需要对⼏页(你的报表可能有⼏个页组成)的统计值。⽐如50个销售记录共占⽤了3页,那么放置这些统计记录的统计值最好的地⽅就是summary。Summary只在最后⼀页出现。
·groupHeader:每个表的内容可能需要根据某个属性进⾏划分显⽰内容和计算内容,⽐如希望以⽉份为单位每组分开显⽰销售记录,那么就可以定义⼀个组(组的定义参考后⽂),groupHeader就是放置组说明或是组标志最好的地⽅。
·Groupfooter:放置组的统计或是说明
3.添加对象
可以通过⼯具栏的⼯具添加静态对象与动态对象。点击可以创建静态对象,点击可以创建动态对象。之后在报表的空⽩处单击,如此即可把对象添加到报表,然后拖动对象的边框,使它的⼤⼩合适,双击即可对对象中的⽂本进⾏快速编辑。
仔细观察,会发现对象的边框有两种颜⾊,⼀为蓝⾊,⼆为红⾊,蓝⾊为符合布局要求,红⾊反之。
注:⼀个对象不能横跨两个区域,即不能既在columnHeader⾥⼜在detail⾥。
⿏标右击对象,弹出如下菜单:
点击”属性”,编辑对象的属性。
这⾥⾯有很多属性,可以依据要求来更改其中的部分或所有。其中,重要的可能是关于PDF的,如下图。
红框框起来的部分要注意,当要输出中⽂的时候,需要类似设置。新版本对边框的更新,使我们操作
起来更为⽅便。注意下⾯红框⾥的部分,这可以对每⼀个边进⾏分开的设置,⼈性化的为我们解决了⼤量问题。
注:JasperReport没有现成的表格,最好的⽅法就是⽤⼀个⼀个对象的边框堆积起来,组成⼀个表格。但是,对象的边框不能覆盖,否则HTML、EXCEL等不能正常输出。
对于动态对象,属性如下。
主要属性如图所⽰。在Pattern⾥,可以定义输出的格式,在输出时间和⽇期或者货币时尤为有⽤。上图中的”stretch with overflow”表⽰当填充值超出定义的⼤⼩时,⾃动换⾏;”blank when null”表⽰当数据为null时不显⽰数据,这两个在某些时候很有⽤处。
⽽在表达式⼀栏中,如果字体为蓝⾊,则表⽰不正确,当输⼊正确的时候,会呈现绿⾊,如图。
4.设置数据来源
⾸先,需要添加⼀个数据源,此处选⽤Oracle数据库,步骤如下。
如下图,点击”连结/资料来源”。
弹出下⾯对话框,点击”New”。(图中已有数据源乃是笔者添加)
选择⼀个数据来源,这⾥选择第⼀个JDBC连接数据库的⽅式,点击”下⼀步”。
按照图中的介绍填写相关信息,并测试信息是否正确,然后保存。iReport可以添加保存多个数据源连接信息。
注:如提⽰不到相关驱动,则需要将驱动的JAR包复制到iReport的lib⽂件夹下。
5.变量、参数及字段
在使⽤iReport 的过程中会碰到很多与变量(Variables)、参数(Parameters)、字段(Fields)这些有关的内容,我们要介绍这些对象的使⽤和意义:
·字段(Fields):是数据源抽取出来的,希望在报表中出现的数据库内容。⽐如⼀个ID的所有值,$F{ filedsName }。
·参数(Parameters):这是你的应⽤需要提供给报表的⼊⼝,⽐如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使⽤参数(Parameters),$P{ parameterName }。
·变量(Variables):这是报表中⼀些逻辑运算的表现,⽐如统计值,$V{ variablesName }。
变量
可以通过以下⽅式添加、修改和删除。
弹出如下对话框:
红框⾥的是iReport⾃带的供⽤户使⽤的变量,⽤于计算数量和总值等。点击”新增”,可以增加⽤户⾃⼰的变量,如图。
各个部分功能如标注所⽰。
参数
定义参数的按钮就在定义变量的旁边,如上节,不赘述。
上图中,红框⾥的是系统内置的参数,供⽤户调⽤,其中包括⼀些常⽤的参数,如连接、最⼤值等等。点击”新增”按钮后,出现如下页⾯。
在新增参数对话框中输⼊参数的名称、数据类型、缺省值以及参数的描述信息等。需要注意的是,根据不同的参数类型,在设置参数的缺省值时要使值能与参数类型匹配,即字符型的参数在设置缺省值时要⽤””把值括起来,如果是数据值型的则不能加””。
国际油价负
参数的引⽤⽅式有两种,,⼀种是$P{},另⼀种是$P!{},前者可以出现在任意的表达式位置,⽽后者则只能出现在SQL脚本⾥,⽤来替换查询语句,⽤以按照不同的需求替换查询语句。同时,在脚本⾥,也有些许区别:前者只能替换语句的部分字段,如SELECT * FROM bugs where name=$P{Name} order by proname, modulename,⽽对于$P!{},则可以直接在SQL脚本框⾥输⼊$P!{SQL}。
字段
编辑字段的⽅式与变量、参数类似,打开”字段”界⾯。
在点击”新增”后,出现如上页⾯,根据情况填写字段名称、字段类型(⼀般与数据来源类型相匹配)和字段的描述等。这种是⼿动添加字段,另⼀种更为⽅便的⽅法是从数据源直接读出,将在后⾯介绍。
字段⽤于动态对象⾥,即。它的主要功⽤在于动态连接数据源,完成数据源的读出显⽰,所以在有动态对象的报表⾥,执⾏的时候⼀般采⽤”执⾏报表(使⽤动态连接)”,如图。
6.动态数据源
从上图中,选择默认的动态连接。
弹出如下界⾯,各部分功能介绍如图。
这便是上⾯所说的另⼀种更为⽅便的添加字段的⽅法,从数据源直接复制到字段⾥,⽅便、快捷。
如上图所⽰,还有三种连接数据源的⽅式:JavaBean、DataSource、CSV。多种不同的⽅式给我们添加了很多便利。平南生活网
7.组
组是⼀个很重要的概念,⼀个报表可以多个组,每个组以⼀个关键字为标记,⽐如希望统计是根据项⽬(或是产品)进⾏统计的。那么可以设⽴⼀个项⽬标记的组。如图。
组的参数设定可以看界⾯即可理解部分,其中最主要的是“Group expression”,这⾥必须输⼊格式正确的并且存在的字段名称,本⽂
的“Name”是【字段】中的⼀个元素。依此类推,建⽴其他的组对象。每建⽴⼀个组,在报表的界⾯上都会出现该组对应的段,组
的Header与Footer是对应出现的。如图。
8.风格化
如图。
点击”Styles”,弹出如下界⾯。
在这⾥,我们可以定义许多个常⽤的格式,按照个⼈喜好进⾏定义,定义后,在对象属性的页⾯上可以选择使⽤哪种风格,所设置的属性会⾃动继承。如图:
9.界⾯介绍
在iReport的界⾯上,处于⼈性化的考虑,设置了很多快捷按钮供⽤户使⽤,如图。
上图包括⽂档的基本操作,线条与图形的绘画,静态与动态对象的添加,图表图像报表的插⼊,报表、栏等的属性,也包括编译、执⾏等按钮。
上图包括字体字号,⼀些对象内部的基本排列操作和数据源设置等。
上图包括对象的对齐、排列、规格化等操作。
所有这些快捷按钮给⽤户提供了很⼤的便利,熟悉之后,⽤起来会更加顺⼿。
10.预览
iReport⽀持多种输出格式,其中包括PDF,HTML,XML,XLS,CSV等等。介绍⼀下如何进⾏预览和输出。

本文发布于:2024-09-23 02:32:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/363229.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报表   对象   需要
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议