iReport的文件有两种,一种是.jrxml源文件(类似.java),一种为.jasper编译文件(类似.class)。
在iReport里进行编辑生成的文件即为.jrxml文件。而当我们点击预览后就会生成.jasper文件。虽然后缀名是.jrxml,其实它也是一个XML文件,只是这个文件需要符合iReport的xsd标准,iReport也支持扩展自己的标签,只是这样自定义的标签不支持拖拽,除非你实现它。
通过在iReport中设计.jrxml,我们可以将iReport支持的数据源(如jdbc,cvs,xml,javabeans,excel等)的数据,转换为我们想要的格式,导出为HTML/EXCEL/WORD/PDF/FLASH等报表文件。
一、iReport 报表文件-基本属性
分类 |
属性名称 |
功能描述 |
|
report name |
报表名称 |
Page Size |
|
|
|
Page Width |
页面宽度 |
|
Page height |
页面高度 |
|
Orientation |
报表方向,可为横式或竖式,默认为大众的竖式 |
Margins |
|
|
|
Left margin |
页面左端空白,单位px,默认20px |
|
Right margin |
页面右端空白,单位px,默认20px |
|
Top margin |
页面顶端空白,单位px,默认20px |
|
Bottom margin |
页面底端空白,单位px,默认20px |
Columns |
|
|
|
Columns |
报表分为几列,默认为一列。 |
|
Column Width |
每列的宽度 |
|
Column space |
列间空白 |
|
Print order |
打印方式-垂直/水平。默认垂直 |
More |
|
|
|
Scriptlet class |
自定义scriptlet,可在报表生成时自定义一些行为。 |
|
Resource bundle |
报表所用资源文件,支持国际化 |
|
When Resource Missing Type |
当资源属性未找到是,值为什么?可为null,空白,报错,element的key |
|
Query Text |
SQL查询语句,也可在DataSet中设置。 |
|
The language for the dataset query |
SQL语句的类型,也可在DataSet中设置。比如普通SQL,Hibernate,MDX等 |
|
Filter Expression |
对SQL语句查询的结果,再次进行过滤,用ireport expression 编写,返回类型必须为Boolean类型 |
|
Properties |
报表所支持的一些额外属性设置 |
|
Title on a new page |
是否Title单独占用一页 |
|
Summary on a new page |
是否Summary单独占用一页 |
|
Summary with Page Header and Footer |
Summary中是否显示Page Header 和 Page Footer |
|
Float column footer |
|
|
Ignore pagination |
是否不分页,整个报表显示在一页中 |
|
Column Direction |
报表是居左还是居右显示 |
|
When No Data |
当Main DataSet记录为0时,显示什么内容?可选项为:1.除Details Band外的所有内容2.空白页3.显示NoData Band (可为报表单独定义该band,用于无数据时,进行信息提示)4.什么都不显示 |
|
Language |
该报表的expression的类型:可选项为-java,groovy,javascript |
|
Format Factory Class |
可自定义Data 和 Number类型等的格式化方案,该类需继承自XX类 |
|
Imports |
可以引用其他包,自定义或第三方等。例如org.myself.utils |
二、iReport 内容 - Bands
报表的内容,由很多Bands组成。我们要做的就是在这些Bands上绘制我们想要的文字,图片,图表,背景等。不同的Bands的属性不同,需要分别根据需要去设置。
Band height |
band的高度 |
Print When xpression |
当表达式为TRUE时,才显示该Band |
Split Type |
可设置当内容超过当前Band高度时,是继续显示一部分,还是在新的一页显示完整内容。 |
b) 各个Band 的功能描述 :
Band Name |
功能描述 |
Title |
报表的标题,仅显示一次,可设置为单独占一页。 |
Page Header |
每页的头部,在每页都会显示一次 |
Column Header |
每列的头部,一般的情况下,我们将表头设置在这里。 |
XXX Group Header |
当报表中存在Group时,才有此band。显示在每个Group的开始位置。有多少个Group显示多少次。一般将Group Name 显示在这里 |
Detail |
数据明细,每行数据在这里显示。有多少行数据,显示多少次。 |
XXX Group Footer |
当报表中存在Group时,才有此band。显示在每个Group的结束位置。有多少个Group显示多少次。一般将Group 汇总计算信息 显示在这里 |
Column Footer |
每列的底部,一般的情况下,将整个数据明细汇总信息显示在这里。 |
Page Footer |
每页的底部,在每页都会显示一次 |
Last Page Footer |
最后一页的底部,在最后一页才显示一次。 |
Summary |
汇总页,仅在报表最后显示一次,一般将整个报表的汇总信息显示在这里。 |
No Data |
当报表查询记录为0时,可设置显示该Band内容。比如可设置其内容为:“当前查询无数据,如有问题请联系XXXX.” |
Background |
整个报表的背景,比如我们给整个报表设置一个水印效果 |