文章目录
工具学习之报表 Jaspersoft Studio
1.下载安装
下载地址:https://community.jaspersoft.com/project/jaspersoft-studio/releases
2.报表组件(bands)
2.1 Title
只在整个报表的第一页的最上面部分显示,除了第一页,不管报表中有多少个页面也不会在出现Title Band中的内容,这就是报表的标题。
2.2 Page Header
内容将会在整个报表中的每一个页面中都会出现,显示的位置在页面上的上部,如果是报表的第一页,pageHeader中的内容将显示在TitleBand下面,除了第一页以外其他所有页面中,pageHeader中的内容将显示在页面的最上端,即页眉。
2.3 Column header
针对Detail Band的表头段,一般情况下在这个段中画报表的表头。
2.4 Detail
循环体,报表内容段,在这个段中设计报表中需要重复出现的内容,Detail段中的内容每页都会出现。
2.5 Column footer
针对Detail Band的表尾段。
2.6 Page footer
显示在所在页面的最下端,即页脚。
2.7 laset Page footer
内容将会出现在报表的最后一页的最后部分。
2.8 summary
表格的合计段,出现的整个报表的最后一页中的Detail band的后面,一般用来统计报表中某一个或者某几个字段的合计值。
2.9 Group Header/Footer
添加分组参数,用它来进行分页操作
3.变量
3.1内置变量
内置的variables和parameters一样,ireport提供了一些内置的variables,这些变量是只读的,不能被用户修改,如下表所示:
Variable 名称 | 说明 |
---|---|
PAGE_NUMBER | 它包含当前页的页。 |
COLUMN_NUMBER | 它包含当前的列数。 |
REPORT_COUNT | 当前的记录数目 |
PAGE_COUNT | 当前的页号 |
COLUMN_COUNT | 当前的列号 |
_COUNT | 在里的记录总数 |
3.2 自定义变量
Variable name:variable的名称,我们可以在表达式中通过下面的方法来引用一个Variable.
$V{variable name}
Variable Class type:variable也可以使任意一个java类型,在下拉框里你可以看到大多数常用的类型,如java.lang.String等。
Calculation Type:一个计算类型可以用来计算结果,当一个预先定义的值是"nothing"时,那它的意思就是不做任何计算,ireport会根据指定的计算类型和从数据源获取的每一条记录计算出结果,然后去更改variables的值,做一个变量的计算意为着去执行一个表达式,如果计算类型为nothing,那么ireport将会根据variable expression为variable赋值,计算类型列举如下:
类型 | 说明 |
---|---|
Nothing | 不做任何计算 |
Count | 对记录集数量进行循环累加(计算有多少条记录),这和sum不一样,sum的计算是针对数字的,会对数字进行累加操作。 |
Sum | 添加每一次表达式(这里的表达式只能是数字类型)迭代的结果到变量中 |
Average | 它用算术的方法来计算表达式累加结果的平均值 |
StandardDeviation | 根据表达式所有值返回标准方差 |
Reset Type:重置类型,表示一个变量在什么时候做重置操作,reset 类型如下:
类型名称 | 说明 |
---|---|
None | 任何时候都不做重置操作 |
Report | 在报表创建的时候Variable才会对表达式进行初始化 |
Page | Variable的初始化在每一页都做一次reset操作 |
Column | Variable的初始化在每一列都做一次reset操作(这里的Column指的是report里的page的column,每个报表的column可以通过报表的Editàreport properties窗口进行修改) |
Group | Variable的初始化在每一个组都做一次reset操作 |
Reset Group:如果group reset type被勾选,这里就要选择group名称(关于group可以参考后面的章节)
Increment:它指定当一个variable值被评估或者当你想要这个组采用类似于subtotals或者averages来计算,increment类型可以参考下面的的表。
incremenet Group:如果这个group的increment type被勾选它将指定这个组决定variable的increment。
custom incrementer Factory Class:指定一个实现了JRIncrementerFactory接口的java类名称,通常用来定义一些诸如sum之类的非数字类型的操作。
Variable Expression:它是一个java的expression,用来标示variable每一次迭代的值。
4.排序
5.字段
1.根据sql 去读取字段
2.自定义字段:定义我们option文件中的自定义列。
6.break的用法
break用来隔断数据的。可以用来限制每页显示多少条数据。
比如一个分组下,每页显示3条数据。
1.我们需要自定义一个字段,用来保存这个分组的总条数 count.
2.写表达式 $V{test} %3 == 0 && $V{test} <
F
c
o
u
n
t
(
F{count} (
Fcount(V{test}是序号,$F{count} 是自定义列)