iReport的文件分为两种,一种为.jrxml 源文件(类似.java),一种为.jasper编译文件(类似.class)。我们在ireport里拖拽生成的即为.jrxml文件。而点击预览生成的即为.jasper文件。
说是.jrxml,其实也是一个XML文件,只是这个文件需要符合ireport的xsd格式,而且也可以扩展自己的标签,只是自己定义的标签就不支持拖拽了,除非自己实现它。
通过我们设计的.jrxml,我们可以将任何数据源(比如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上绘制我们想要的文字,图片,图表,背景等。
其实就相当于我们的画布,只不过这个画板有点多,且每个画板的功能也不同,还有一些属性需要设置,综合配置好这些,才能画一副完整的报表图画出来~
a) 每个画板都有3个属性:
Band height | band的高度 |
Print When Expression | 当表达式为TRUE时,才显示该Band |
Split Type | 可设置当内容超过当前Band高度时,是继续显示一部分,还是在新的一页显示完整内容。 1.Immediate 直接显示不完整信息 2.Prevent 到新的一页显示完整信息 3.Stretch 延伸当前页,显示完整信息 |
b) 各个画板的功能描述 :
Band Name | 功能描述 |
Title | 报表的标题,仅显示一次,可设置为单独占一页。 需注意在这里使用variable时,不能设置其Evaluation Time 为 Now,否则为null |
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 | 整个报表的背景,比如我们给整个报表设置一个水印效果 |
二、DataSet
光有画板是不行的,我们还需要颜料,那就是DataSet,也就是数据源。就有了数据,才能开始加工设计。
iReport支持多个DataSet,默认仅有一个Main Data Set。
iReport支持的查询类型也很多,普通SQL,HQL,MDX Query,Json等等。
另外还可以为JavaBean,这样业务逻辑就可以放入Java 的Service里处理了。
三 、Parameters,Fields
Parameters与Fields都来自于外部。一个是外部传入的参数,一个是根据数据源生成的字段(当然也可以字的自定义Fields)
Parameters 主要由报表外部传入,它默认已经自带了一些系统参数,例如 REPORT_PARAMETERS_MAP,REPORT_DATA_SOURCE,REPORT_MAX_COUNT,REPORT_TIME_ZONE 等。另外也可自定义自己的Parameters,比如统计时间段,组织No等业务参数。
Fields 一般由数据源查询SQL自动生成,一般不用管。它对应SQL/JavaBean中查询出个各个字段名称。
四、Variables
Variables类似于方法内部定义的局部变量,方便我们进行计算汇总,以及常量定义等。
系统自带几个参数:比如当前Page Number,当前Column Number,总Report Count,总Page Count,总Column Count。通过这些自定义参数,我们可以设置一下特殊样式,比如隔行变色等。
另外,我们还可以自定义一些Var,进行Sum,Avg,Count等计算。因内容较多,后面单独总结吧。
五、Elements
画板上可以画啥子东西呢?可以画静态文本,动态文本,JFreeChart图表,Flash图表,HTML5图表,Maps,交叉表,条形码等等各种Elements。甚至我也可以自定义一个组件,用来显示;还可以显示HTML代码;调用JS脚本等。
这里抱怨一下,Chart这种用的JFreeChart的图片效果的图表,是否该废弃了?样子老难看的说~
还有其Charts Pro,Maps Pro,Widgets Pro 3种Flash 报表都是基于Fusionchart实现的,而且是用的免费版Fusionchart,可选择的图表类型实在是太少了...如果能改为 FusionChart收费版,功能该多么强大。只能意淫一下了...
在4.7以后的版本里出现了HTML5 Charts,估计也是为了弥补Flash Chart方面的不足吗?但是目前来说HTML5 Charts能支持的图表类型也是不多啊
而Spider Chart,还是用的旧的JFreeChart或其自定义实现的一个图片效果的图表,样子要多难看也多难看。(在3.7版本里,甚至都没有这个图表类型,还是自己做了一个插件实现的,效果都比它这个好看。)
好歹是收费版,你不能做的更漂亮,更炫丽,图表类型,功能选择更多一点吗?
还好有了Generic Element和HTML组件,我们可以调用JS,HTML,或Java代码实现自己的组件,但是毕竟要自己动手,而且这样出来的貌似只支持HTML导出呢。
整个报表基本上就是由这些部分组成了,我们要做的就是根据这些组件或元素,画出我们想要的效果。简要介绍总结完毕~ 又进了一小步
相关推荐
总结起来,iReport-3.0.0-windows-installer是针对Windows用户的报表设计工具,主要用于生成JasperReports的XML文件,并支持转换为Jasper文件以供Struts2等Java应用使用。通过这个工具,开发者能够构建出功能丰富的...
在报表设计完成后,iReport会将.jrxml文件编译成.jasper文件,这是一种二进制格式,可以直接被JasperReports Library理解和执行。jasper文件包含了所有的报表定义和样式信息,可以在运行时动态填充数据。对于Java...
标题中的"ireport itext jasper-compiler"涉及到了三个关键组件:iReport、iText和JasperReports的编译器。这些组件都是Java开发中用于报表生成的重要工具。 iReport是一款开源的报表设计工具,它是JasperReports库...
iReport是一款强大的报表设计工具,尤其在Java平台上广泛使用,它是JasperReports库的一部分,用于创建复杂的报告和数据可视化。本教程将详细讲解如何利用iReport-5.6.0-designer02版本进行报表设计。 一、iReport...
本书中包含了大量示例代码,旨在帮助读者理解如何使用iReport进行报表设计。这些代码覆盖了各种应用场景,从简单的报表结构到复杂的报表逻辑。 ### 二、入门指南 #### 2.1 平台要求 iReport可以在多种操作系统上...
使用方法:1.安装iReport 2.解压jdk 3.打开iReport安装路径 修改etc/ireport.conf 指定解压出的jdk目录,不用带bin,记得吧前面的注释去掉 jdkhome="G:\donotDel\java-se-7u75-ri" 没有第三步iReport 会闪退
在这个主题中,我们将深入探讨如何使用Jasper IReport来生成报表。 首先,Jasper IReport提供了一个直观的拖放界面,可以用来设计报表布局。用户可以通过添加表格、文本框、图像、图表等元素来构建报表模板。报表...
- **JRXML与Jasper文件**:报表设计通常以JRXML源代码形式存在,编译后生成Jasper文件,这是报表的二进制形式。 - **数据源与打印格式**:报表设计需要考虑到数据的来源和报表的打印输出格式。 - **版本兼容性**:在...
iReport是一款强大的报表设计工具,尤其在Java平台上广泛使用,它是Jaspersoft Studio的前身。5.6.0是其一个稳定版本,提供了丰富的报表设计功能。本压缩包"iReport-5.6.0-designer03"包含了该版本的多个组成部分,...
iReport是Jasper Report的一个图形界面设计工具,主要用于设计报表布局。而Jasper Report则是一套用于在Java应用程序中生成报表的类库。 - **下载**:访问官方站点http://jasperforge.org/获取最新版本的iReport与...
本文将深入探讨如何使用IReport来制作Jasper报表文件。 **1. IReport简介** IReport是一款基于Java的报表设计工具,它是JasperReports库的配套工具。用户可以通过图形化界面设计报表模板,支持多种数据源,包括...
ireport是一款用于设计jasper报表的开源工具,它为Java开发者提供了直观的图形界面,使得创建复杂的报表变得简单易行。jasper报表文件通常以jrxml格式存储,它是基于XML的,用于描述报表的布局和数据源。 1. **安装...
本人使用的是ireport3.0,ireport和java交互所需要的jar名称如下:barbecue-1.5-beta1.jar;...js_jasperserver-ireport-plugin-3.0.0.jar;注意ireport编译所需要的jar包要和与java交互jar包一致!
【jasper5+ireport5】是用于报表生成和设计的工具组合,它们在IT行业中广泛应用于企业级应用,特别是需要复杂数据展示和分析的场景。JasperReports库(jasper5)是一个开源的Java库,它允许开发人员创建、填充和导出...
ireport+jasper报表,报表时项目中不可缺少的模块,我把前辈的东西拿来修改了一下终于实现了自定义报表。希望对大家有帮助,由于资源分不多了,因此3分就当做是辛苦分吧,代码详尽,数据库字段自己定义,有问题联系...
JasperServer, JasperETL, JasperReports, JasperStudio, iReport, and Jasper4 products are trademarks and/or registered trademarks of Jaspersoft Corporation in the United States and in jurisdictions ...
**iReport-Ultimate-Guide中文手册**是一本全面介绍如何使用iReport工具创建JasperReports报表的专业指南。该手册包含了丰富的技巧与实践案例,适合于希望深入了解JasperReports报表设计与开发的读者。 ##### 1.1 ...
本手册后续章节将详细介绍如何设计报表元素、使用样式和表达式、集成图表以及发布报表等高级功能。通过深入学习和实践,用户可以充分利用iReport的强大功能,创造出专业且富有视觉吸引力的报表,满足各种业务需求。
- **jasper** 文件是在编译后生成的二进制文件,可以直接用于生成报表。 - **数据源与打印格式:** - **数据源** 包括但不限于数据库连接、CSV 文件等。 - 打印格式决定了报表如何被呈现,如 PDF、Excel 或 HTML...
以下将详细介绍如何使用IReport 3.5.1来创建报表模板。 **一、安装IReport** 要开始使用IReport,首先需要下载并安装。你可以访问官方网站...