,,iReport使用指南及常见功能示例详解

,,iReport使用指南及常见功能示例详解

本文主要介绍iReport的使用指南和常用功能。本文以iReport 3.5.1为例,通过实例演示非常详细的向大家介绍。有需要的朋友可以参考一下。

目录

报表结构数据源示例3.1简单示例

3.2分组示例

3.3分组子表视图

3.4图表示例

饼图

直方图

3.5交叉声明

在使用ireport的过程中,由于各种功能都需要百度,但是每个人使用的例子却千差万别,非常苦恼,所以用一个简单的例子来展示ireport的常用功能。

我用的是iReport 3.5.1,使用的样本数据表如下图所示:

销售表:(名称和大致结构来自Fansoft电子文档,如有雷同,无意冒犯)

卖家表格:

下面是简介:

报告结构

左边的视图区连接着主设计区各波段区的数据,以及参数、变量等。中间是主要的设计区域。您可以通过拖动控制面板在此区域进行设计。有三种模式:设计器、源代码(Xml)和预览。设计模式可见,源代码模式可以直接在屏幕上修改。预览是对设计好的报表样式的预览,也是一个编制过程。右侧是控制面板和属性面板,您可以在其中使用控件和设置属性。

JasperReport有三种方式保存数据:字段、参数和变量。

一般情况下,该字段用于保存从数据源提取的数据,用法是

参数是用来占位的——我们在设计的时候往往不知道具体的值,所以用一个参数来占位它们的位置,执行的时候从程序或者数据库中调出相应的参数,这样就实现了一个动态的过程。用法是

Variables是一个变量,可以用在TextFild表达式中,也可以设置它的属性使其具有一些功能,如求和、求平均值等。用法是

数据源

Ireport提供了许多连接数据源的方法,

可以通过点击顶部的数据库标识符来设置数据库,底部的数据标识符用来写SQL语句获取数据。

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

测试是否连接,输入数据库密码,如果成功,会提示:

例子

3.1简单示例

首先连接数据库表sales:

单击“确定”,将在左视图窗口的字段区域获取采集的数据:

此时,在主设计区域中拖放静态文本控件:

在列标题区域中添加一个列名,然后将左侧的字段字段拖到详细信息字段中相应的列名上:

3.2分组示例

有时候我们需要分组来观察数据,然后我们需要分组。我们按地区id分组。需要注意的是,如果使用分组,需要在初始sql语句中添加order by语句,否则ireport不会自动分组。

右键单击可添加分组:

接下来,会有一个向导。我们将按照向导一步一步地进行操作:

然后下一步,完成。

3.3分组子表视图

如果不想在sql语句中添加order by语句,可以使用子表分组查看。例如,如果我想在父报表master.jasper中查看sub_report.jasper的信息,我需要使用销售情况表、员工情况表sellers、子报表控件和一个参数area_id。

首先建立子表员工信息表sub_report.jasper,创建一个新的参数作为连接两个表的桥梁:area_id。参数的属性设置如图所示。

主要目的是将参数类设置为与数据库表中的类型相同,以防止错误。

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

接下来,我们来预习一下。这时候就需要给个参数测试了。如果我们给1,结果如下:

这表明分组已经成功,下一步我们需要将子表和父表连接起来。

另外,需要创建一个新的报告文件master.jasper。为了方便查看,请将区域名称拖到详细信息区域中以备后用。

拖拽子表控件,根据向导完成子表属性设置。

(1)选择已有的子表。请注意,选择的是编译文件sub_report.jasper,而不是sub_report.jrxml。如果首先创建父表,请选择Create Child Table here并按照向导创建子表。流程如上。

(2)使用内置的连接参数表达式。

(3)在此报告的现有字段中将参数值设置为$F{area_id}。

(4)存储子表表达式。其实我是把子表和父表放在同一个文件夹里,所以不需要用绝对路径的方法,只需要存储一个路径名就可以了。

完成,运行它:

3.4图表示例

饼图

对于饼图类型,我们需要输入三个表达式:键、值和标签。表达式键允许您识别饼图中的一块。如果键的值是重复的,标签和值将被关联以覆盖键的值。键值不能为空。表达式Value of value指定该键的数值。标签表达式的值允许您为联合图中的每个块指定一个标签。该表达式的值是可选的,默认值为key=value。

首先,拖动图表控件。ireport支持多种图表。因为例子的数据比较简单,就说饼状图和柱状图吧。

放置饼图后,右键单击图表数据并设置图表属性。

这里需要注意的是,value是用来表示饼状图关键词的值。在这个例子中,我们按照销售人员卖出的苹果汁来划分饼状图,所以key是销售人员,他的“价值”,也就是苹果的销量,就是价值。值通常需要是数字类型。

如果我们将标签表达式更改为$F{apple},将会产生以下效果:

个人觉得后者更直观。

直方图

像饼图一样,效果如下:

显然,更复杂的数据才能体现他的有用性。

3.5交叉声明

有时我们不仅需要纵向比较数据,还需要横向比较数据,所以我们使用交叉报告。

交叉报表需要空间交叉表。

让我们创建一个新的报表文件CrosstabTest来统计苹果汁在不同地区的销售情况。绑定数据表后,拖放交叉报表控件,根据向导进行设置:

首先选择主报告数据集:

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

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

然后是主力区域数据。我们主要看不同地区不同销售人员的苹果汁销量,所以选择苹果。因为是计数,所以函数可以选择计数。

最后,布局,交叉表控件会自动带来行和列的总数,这是可以选择的。

完成:

不在销售区域的将被标记为0。

此外,iReport还有获取当前时间、页数等小工具,这些小工具是基于可由TextField更改的表达式定义的。模板文件编译完成后,就可以放入程序中使用,参数也可以传递。

这是我在这一段对ireport的探索。因为数据简单,很多问题还没有被发现。如有错误和不足之处,请讨论指正。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • word文档无法编辑是怎么回事-
  • 华为手机怎么设置返回键(华为手机下面的三个按键设置方法)
  • lumia950怎么样(Lumia950体验分享)
  • otg连接是什么意思(OTG连接手机方法)
  • 笔记本触摸板怎么右键(笔记本电脑触控板手势操作设置)
  • 真我x7怎么样(realme X7 系列体验)
  • 苹果的A16处理器有多强(苹果的A16处理器的介绍)
  • 小米互传怎么用(小米手机的连接与共享教程)
  • 怎么设置电脑桌面图标自动对齐 设置电脑桌面自动整理图标的方法
  • 宽带错误651最简单解决方法(处理宽带错误651的措施)
  • 大学生手机有什么推荐(大学生换手机攻略)
  • 天玑1100和骁龙778g哪个好(骁龙778G、天玑900、天玑1100购选建议)
  • yum update 升级报错的解决办法
  • Windows10禁用屏保教程
  • 连接wifi显示无互联网连接怎么办(无线连上了却不能上网处理绝招)
  • 留言与评论(共有 条评论)
       
    验证码: