`
zzc1684
  • 浏览: 1227907 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

[Jasper使用总结]iReport报表设计-整体介绍(二)

阅读更多

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

    总结起来,iReport-3.0.0-windows-installer是针对Windows用户的报表设计工具,主要用于生成JasperReports的XML文件,并支持转换为Jasper文件以供Struts2等Java应用使用。通过这个工具,开发者能够构建出功能丰富的...

    iReport-5.6.0-windows-installer.zip

    在报表设计完成后,iReport会将.jrxml文件编译成.jasper文件,这是一种二进制格式,可以直接被JasperReports Library理解和执行。jasper文件包含了所有的报表定义和样式信息,可以在运行时动态填充数据。对于Java...

    ireport itext jasper-compiler

    标题中的"ireport itext jasper-compiler"涉及到了三个关键组件:iReport、iText和JasperReports的编译器。这些组件都是Java开发中用于报表生成的重要工具。 iReport是一款开源的报表设计工具,它是JasperReports库...

    iReport-5.6.0-designer02

    iReport是一款强大的报表设计工具,尤其在Java平台上广泛使用,它是JasperReports库的一部分,用于创建复杂的报告和数据可视化。本教程将详细讲解如何利用iReport-5.6.0-designer02版本进行报表设计。 一、iReport...

    iReport-Ultimate-Guide-3 (1).pdf

    本书中包含了大量示例代码,旨在帮助读者理解如何使用iReport进行报表设计。这些代码覆盖了各种应用场景,从简单的报表结构到复杂的报表逻辑。 ### 二、入门指南 #### 2.1 平台要求 iReport可以在多种操作系统上...

    iReport-5.6.0-windows-installer.exe(含jdk7)

    使用方法:1.安装iReport 2.解压jdk 3.打开iReport安装路径 修改etc/ireport.conf 指定解压出的jdk目录,不用带bin,记得吧前面的注释去掉 jdkhome="G:\donotDel\java-se-7u75-ri" 没有第三步iReport 会闪退

    jasper ireport 生成 报表

    在这个主题中,我们将深入探讨如何使用Jasper IReport来生成报表。 首先,Jasper IReport提供了一个直观的拖放界面,可以用来设计报表布局。用户可以通过添加表格、文本框、图像、图表等元素来构建报表模板。报表...

    ireport-ultimate-guide-5.0

    - **JRXML与Jasper文件**:报表设计通常以JRXML源代码形式存在,编译后生成Jasper文件,这是报表的二进制形式。 - **数据源与打印格式**:报表设计需要考虑到数据的来源和报表的打印输出格式。 - **版本兼容性**:在...

    iReport-5.6.0-designer03

    iReport是一款强大的报表设计工具,尤其在Java平台上广泛使用,它是Jaspersoft Studio的前身。5.6.0是其一个稳定版本,提供了丰富的报表设计功能。本压缩包"iReport-5.6.0-designer03"包含了该版本的多个组成部分,...

    Jasper_+_ireport_集成报表到Web应用,操作说明

    iReport是Jasper Report的一个图形界面设计工具,主要用于设计报表布局。而Jasper Report则是一套用于在Java应用程序中生成报表的类库。 - **下载**:访问官方站点http://jasperforge.org/获取最新版本的iReport与...

    ireport 制作jasper报表文件

    本文将深入探讨如何使用IReport来制作Jasper报表文件。 **1. IReport简介** IReport是一款基于Java的报表设计工具,它是JasperReports库的配套工具。用户可以通过图形化界面设计报表模板,支持多种数据源,包括...

    教你怎么利用ireport软件制作jasper报表文件,是报表模版软件

    ireport是一款用于设计jasper报表的开源工具,它为Java开发者提供了直观的图形界面,使得创建复杂的报表变得简单易行。jasper报表文件通常以jrxml格式存储,它是基于XML的,用于描述报表的布局和数据源。 1. **安装...

    java开发ireport和Jasperireport所需要的jar

    本人使用的是ireport3.0,ireport和java交互所需要的jar名称如下:barbecue-1.5-beta1.jar;...js_jasperserver-ireport-plugin-3.0.0.jar;注意ireport编译所需要的jar包要和与java交互jar包一致!

    jasper5+ireport5

    【jasper5+ireport5】是用于报表生成和设计的工具组合,它们在IT行业中广泛应用于企业级应用,特别是需要复杂数据展示和分析的场景。JasperReports库(jasper5)是一个开源的Java库,它允许开发人员创建、填充和导出...

    jasper+ireport报表例子

    ireport+jasper报表,报表时项目中不可缺少的模块,我把前辈的东西拿来修改了一下终于实现了自定义报表。希望对大家有帮助,由于资源分不多了,因此3分就当做是辛苦分吧,代码详尽,数据库字段自己定义,有问题联系...

    iReport-Ultimate-Guide-3.5

    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-Ultimate-Guide中文手册**是一本全面介绍如何使用iReport工具创建JasperReports报表的专业指南。该手册包含了丰富的技巧与实践案例,适合于希望深入了解JasperReports报表设计与开发的读者。 ##### 1.1 ...

    ireport-guide-english_1.2.1UnEncrypted

    本手册后续章节将详细介绍如何设计报表元素、使用样式和表达式、集成图表以及发布报表等高级功能。通过深入学习和实践,用户可以充分利用iReport的强大功能,创造出专业且富有视觉吸引力的报表,满足各种业务需求。

    iReport-Ultimate-Guide

    - **jasper** 文件是在编译后生成的二进制文件,可以直接用于生成报表。 - **数据源与打印格式:** - **数据源** 包括但不限于数据库连接、CSV 文件等。 - 打印格式决定了报表如何被呈现,如 PDF、Excel 或 HTML...

    如何使用IReport3.5.1来制作报表模板

    以下将详细介绍如何使用IReport 3.5.1来创建报表模板。 **一、安装IReport** 要开始使用IReport,首先需要下载并安装。你可以访问官方网站...

Global site tag (gtag.js) - Google Analytics