温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iReport使用指南及常见功能的方法教程

发布时间:2021-10-26 13:38:19 来源:亿速云 阅读:322 作者:iii 栏目:开发技术

本篇内容主要讲解“iReport使用指南及常见功能的方法教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“iReport使用指南及常见功能的方法教程”吧!

在使用ireport的过程中,因为各种功能都要百度,但是大家使用的例子又千差万别让人很苦恼,所以用一个简单例子贯穿的展示一下ireport的常见功能。
我使用的是iReport 3.5.1,使用的示例数据表如图:
sales表:(人名、大致结构来自帆软电子文档,如有雷同,无意冒犯)

iReport使用指南及常见功能的方法教程
iReport使用指南及常见功能的方法教程

sellers表:

iReport使用指南及常见功能的方法教程
iReport使用指南及常见功能的方法教程

下面开始介绍:

报表结构

iReport使用指南及常见功能的方法教程

左边是view区,联系着主设计区中的各个band区域的数据,以及参数、变量等。中间是主设计区,通过拖拽控件面板可以在此区域进行设计,有三种模式:设计(Designer)、源码(Xml)、预览(Preview),设计模式是可视的,源码方式可以直接在上修改,预览是对设计好的报表样式进行预览,也是一个编译的过程;右边是控件面板和属性面板,可以在此使用控件和设置属性。
JasperReport有三个方式来保持数据:Field、Paramrter、Variables。
一般情况下,Field是用作保存从数据源取出来的数据,用法是

iReport使用指南及常见功能的方法教程

Parameter是用来占位—我们在设计时往往不知道具体的值,那么用一个参数来占住它们的位置,在执行时,从程序或者数据库中传递对应的参数过来,从而实现一个动态的过程,用法是

iReport使用指南及常见功能的方法教程

Variables是变量,可以将变量用于TextFild表达式中,也可以设置它的属性,使它具有一些功能,如求和,求平均数等,用法是

iReport使用指南及常见功能的方法教程

数据源
ireport提供很多种数据源的连接方式,
点上方的数据库标识就可以设置数据库,下方的数据标识用来写SQL语句获取数据。

iReport使用指南及常见功能的方法教程

我们这里选择jdbc数据连接,mysql连接语句,数据库名称是test

iReport使用指南及常见功能的方法教程

test一下是否连通,输入数据库密码以后,如果成功会出现提示:

iReport使用指南及常见功能的方法教程

示例
3.1 简单示例
首先连接数据库表sales:

iReport使用指南及常见功能的方法教程

点击ok,这时左侧view窗口的field区域就得到了取到的数据:

iReport使用指南及常见功能的方法教程

这时,在主设计区域拖拽静态文本控件:

iReport使用指南及常见功能的方法教程

在column header区域添加列名,然后拖动左侧的field字段到detail域相应的列名下:

iReport使用指南及常见功能的方法教程
iReport使用指南及常见功能的方法教程

3.2 分组示例
有时候我们需要分组来观察数据,这时就需要group,我们以区域id来分组,需要注意的是,如果使用group分组,需要在一开始的sql语句中加上order by语句,否则ireport是不会自动分组的。

右键添加一个分组:

iReport使用指南及常见功能的方法教程

接下来会有一个向导,我们根据向导一步步操作:

iReport使用指南及常见功能的方法教程

然后下一步,完成。

iReport使用指南及常见功能的方法教程

3.3 子表方式分组查看
如果不想在sql语句中增加order by语句,那么可以使用子表的方式进行分组查看,例如我想在父报表master.jasper中查看子报表sub_report.jasper的信息,需要用到销售情况表sales和员工情况表sellers以及子报表控件和一个参数 area_id。
首先建立子表员工信息表sub_report.jasper,新建一个参数,作为连接两个表的桥梁:area_id,参数的属性设置如图

iReport使用指南及常见功能的方法教程

主要是要把parameter class设置成与数据库表中同样的类型以防出错。

然后为sub_report绑定数据库表,此时需要注意SQL语句中需要包含我们设定的参数 $P{area_id}

iReport使用指南及常见功能的方法教程

接下来,我们preview一下,这时需要给一个参数测试,假使我们给定1,结果如图:

iReport使用指南及常见功能的方法教程

这说明分组已经成功,我们下一步需要把子表与父表连接起来。
同样需要新建一个报表文件master.jasper,为方便查看,将区域名称拖入detail区域备用。

iReport使用指南及常见功能的方法教程

拖拽子表控件,根据向导完成子表属性设置
(1)选择已有子表,注意是选择编译后的文件,sub_report.jasper,而非sub_report.jrxml。如果先建父表,在这里选择创建子表,按照向导创建子表,流程如上。

iReport使用指南及常见功能的方法教程

(2)使用内建连接参数表达式

iReport使用指南及常见功能的方法教程

(3)设定参数值为本报表中已存在的field域中的$F{area_id}

iReport使用指南及常见功能的方法教程

(4)存储子表表达式,事实上,我将子表和父表已经放在同一个文件夹中所以不必使用绝对路径法,只需存储一个路径名称即可

iReport使用指南及常见功能的方法教程

完成,运行一下:

iReport使用指南及常见功能的方法教程
iReport使用指南及常见功能的方法教程

3.4 图表示例
3.4.1 饼图
针对 Pie图表类型,有三个表达式需要我们输入:Key,Value 和 Label。表达式 Key 允许你标识 Pie 图里的一块。如果 Key 的值出现重复, 那么 Label 和 Value的值会关联起来用来覆盖 Key 的值。一个 Key 值不能为 null。Value 的表达式值指定这个Key 的数字值。Label 表达式的值允许你为并图中每一块指定一个标签。这个表达式的值是可选的,同时默认值为 key=value
首先拖动图表控件,ireport支持多种图表,因为示例的数据比较简单,我们就只说饼图和柱状图。

iReport使用指南及常见功能的方法教程
iReport使用指南及常见功能的方法教程

放好饼图以后,右键chart data,设置图表属性

iReport使用指南及常见功能的方法教程

这里需要注意的是,value是用来表述你划分饼图关键词的值,本例中,我们根据售货员来销售的苹果汁来划分饼图,那么key就是售货员,他的“值”,也就是苹果销售量就是value,value一般要求是数字类型。

iReport使用指南及常见功能的方法教程

如果我们将label表达式换成$F{apple},就会是如下效果:

iReport使用指南及常见功能的方法教程

个人认为还是后者比较直观。

3.4.2 柱状图
过程和饼状图一样,效果如下:

iReport使用指南及常见功能的方法教程

显然更复杂的数据比较能体现到他的用处。

3.5交叉报表
有时候我们不仅需要纵向比较数据,也需要同时横向进行比较,这就用到了交叉报表。
交叉报表需要用到空间crosstab
我们新建一个报表文件CrosstabTest,统计一下不同区域苹果汁的销售情况,绑好数据表后,拖拽交叉报表控件,根据向导设置:
首先选择主报表数据集:

iReport使用指南及常见功能的方法教程

然后,设定行参数,我们选择区域id作为分组依据,group2暂时不用。

iReport使用指南及常见功能的方法教程

接下来是列参数,选择销售人员作为分组依据。

iReport使用指南及常见功能的方法教程

然后是主区数据,我们主要是看不同区域不同销售人员苹果汁的销售情况所以选择apple,由于是计数,fuction选择count即可。

iReport使用指南及常见功能的方法教程

最后是布局,crosstab控件会自动带行总数列总数,可自选。

iReport使用指南及常见功能的方法教程

完成:

iReport使用指南及常见功能的方法教程

不在该销售区域的会被标记为0.

此外,iReport还有获取当前时间,获取页数等小工具可供使用,这些工具都是基于TextField可以更改表达式进行定义。当模板文件编译后,可放至程序中使用,并进行参数传递。

到此,相信大家对“iReport使用指南及常见功能的方法教程”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI