javaee论坛

普通会员

225648

帖子

352

回复

366

积分

楼主
发表于 2017-07-18 00:44:08 | 查看: 86 | 回复: 0

由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。

iReport的下载地址是:http://ireport.sourceforge.net/cap3.html

 

介绍一下ireport的报表结构

如下图所示:

title:只在报表的第一页显示,后面的就不在显示。

page header :相当于页眉,在第一页位于title的下面,而后的页中是位于最上部。

page footer :相当于页脚,和page header是想对应的。

detail :报表内容显示的部分,这部分内容是重复的,相当于迭代的过程。

column header :针对Detail Band 的表头段,一般情况下在这个段中画报表的表头

column footer :和column header 相对的。

summary :出现在整个报表的最后一页的detail的下面,统计总值结果。

 

下面是设置数据源。

                  

选择相应的连接方式即可。

下一步是选择相应的sql语句,得到你要显示在表报中的数据。

让后会再左侧的field中看到我们所查询到的数据列,然后根据自己的需要拖动相应的列到我们的band中即可。

注意:对于拖动到band中的列,不能移动到另外一个band中,会产生错误

 

 

 

ireport中三种参数的介绍:

field,parameters,variable。

field:可以用两种方式创建field,一种是 query,一种是java bean来创建。

parameters:是在打印的时候从程序中传值到报表中的。相当于parameters在这里只起到了传值的作用。

ireport内建了一些parameters,如下所示,可以直接调用:

参数名

说明

REPORT_PARAMETERS_MAP

它是一个java.util.Map类型的对象,可以通过它来传给填充报表去填充报表里所有的parameters,在这个参数里还包含用户定义的parameters.

REPORT_CONNECTION

一个JDBC的Connection参数,报表可以根据传入的JDBC Connection来获到相应的数据

REPORT_DATASOURCE

为报表中的Connection提供一个DataSource。外部传入的时候类型也要是DataSource类型

REPORT_SCRIPTLET

报表生成时使用的Scriptlet实例,如果没有指定ScriptLet,那么这个parameters将使用net.sf.jasperreports.engine.
 
JRDefaultScriptlet.

IS_IGNORE_PAGINATION

通过这个参数你可以控制分页功能是打开还是关闭。默认情况下,分页是打开的。但是如果导出为HTML或EXCEL时不进行分页处理。

REPORT_LOCALE

它被用来设置报表所处的地区。如果没有提供地区,那么将采用系统默认的地区。

REPORT_TIME_ZONE

设置报表的时区,如果没提供的话采用系统默认的。

REPORT_RESOURCE_BOUNDLE

为报表指定要加载的资源文件,在国际化一章中介绍了如何使用资源文件来构建报表。

 

variable:存储某些字段计算后的结果。

ireport内建了一些变量,如下所示:

 

类型

说明

Nothing

不做任何计算

Count

对记录集数量进行循环累加(计算有多少条记录),这和sum不一样,sum的计算是针对数字的,会对数字进行累加操作。

Distinct Count

也是对计算有多少条记录的累加操作,只是在累加过程中会忽略已经出现的记录(比如某个字段的值已经出现后就不会再记录)

Sum

添加每一次表达式(这里的表达式只能是数字类型)迭代的结果到变量中

Average

它用算术的方法来计算表达式累加结果的平均值

Lowest

返回表达式最小值

Highest

返回表达式最大值

StandardDeviation

根据表达式所有值返回标准方差

Variance

返回表达式接收到的值的变化

System

不做任何计算并且表达式也是没有价值的,在这样的用例中,报表引擎仅仅保存内存中variable的最后的值。

 

类型名称

说明

None

任何时候都不做重置操作

Report

在报表创建的时候Variable才会对表达式进行初始化

Page

Variable的初始化在每一页都做一次reset操作

Column

Variable的初始化在每一列都做一次reset操作(这里的Column指的是report里的page的column,每个报表的column可以通过报表的Editàreport  properties窗口进行修改)

Group

Variable的初始化在每一个组都做一次reset操作

 

 

 


您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017