Jasperreports+jaspersoft studio(一):简单示例
1前言
最近项目中有做报表的需求,在同事推荐下使用了JasperReport技术开发相应报表模块。借此机会,一边学习,一边记录。
2下载jaspersoft studio编辑器
到JasperReport官网下载 https://community.jaspersoft.com/community-download
3示例(静态文本)
3.1打开安装后的编辑器新建一个project, 步骤: File -> New -> Project-> JasperReports Project
3.2新建一个Jasper Report模板,在 Stidio的左下方Project Explorer 找到刚才新建的Project (我这里新建的是MyReports),步骤:项目右键 -> New -> Jasper Report
3.3 点击 Finish ,生成一个报表模板
如图所示,报表模板被垂直的分层,没个层级都有不同的特点。
Title(标题):只在整个报表的第一页的最上端显示。只在第一页显示,其他页面均不显示。
Page Header(页头):在整个报表中每一页都会显示。在第一页中,出现的位置在 Title Band的下面。在除了第一页的其他页面中Page Header 的内容均在页面的最上端显示。
Column Header(列头):Detail中打印的是一张表的话,这Column Header就是表中列的列头。
Detail 1(内容详细):报表内容,每一页都会显示。
Column Footer(列脚):Detail中打印的是一张表的话,这Column Footer就是表中列的列脚。
Page Footer(页脚):在整个报表中每一页都会显示。显示在页面的最下端。一般用来显示页码。
Summary(统计):表格的合计段,出现在整个报表的最后一页中,在Detail 1 (内容详情)后面。主要是用来做报表的合计显示。
Studio的outline显示模板结构:
元素 | 名称 | 描述 |
---|---|---|
Style | 样式 | 可以创建全局样式,在表格处用的比较多 |
Parameters | 参数 | 由外面传递到里面的参数,一般指用HashMap,也可以向子报表传参 |
Fields | 字段 | 映射字段 |
Scriptlets | 脚本 | |
Sort Fields | 有序字段 | 有序的映射字段 |
Title | 标题 | 除了第一页,其他页都不展示 |
Page Header | 页头 | 每页都会展示,在页面上部 |
Column Header | 列头 | 表中列的列头 |
Detail | 内容区 | 重复出现的内容在此展示 |
Column Footer | 列脚 | 表中列的裂脚 |
Page Footer | 页脚 | 每页都会展示,在页面下部 |
Last Page Footer | 最后一页页脚 | 只在最后一页展示 |
Summary | 统计区 | 报表最后一页中,一般用来统计 |
No Data | ||
Background | 背景 | 设置报表的背景样式 |
Studio的Properties显示模板参数:
Report Name : 模板名称,注意,如果你复制了一份模板文件,这个地方是没有修改的。
Description : 模板描述,这个模板文件是干什么的,起注释作用。
Language : 有三种 Java | groovy | javascript, 这里指定报表表达式使用的语言。
Imports : 引入其他包,自定义,或者第三方
Format Factory Class : 翻译 (指定实现要与此报表一起使用的接口的类的名称。如果省略,将创建的实例)
When No Data Type: (当打印的报表数据源中没有数据的情况下,也就是数据源为空的情况下)
null: 默认,不选择。
No Pages: 不打印数据。
Blank Pages:返回一个空白的页面。
All Sections No Detail: 打印除了Detail 之外的所有页面。
No Data Section: 把No Data的Band 的也打印出来。
Report 属性 | 描述 |
---|---|
Title On A New Page | 表示 Tilte Band 单独一页打印。 |
Summary On A New Page | 表示 Summary 单独一页打印。 |
Summary With Page Header And Footer | 表示在Sumnmary最后一页,也显示Header头 和 Footer脚 |
Float Column Footer | 在最后一页,Column Foot(列脚)是否紧挨着最后一个Details |
Ignore Pagination | 忽略分页 |
Create bookmarks | 创建书签 |
3.4在Studio的右侧组件面板(Palette)找到静态文本组件(Static Text)
把它拖入到 Detail 1 Band中。并写入文字。
Source可以看到Jrxml文件源码;Preview可以预览.