介绍
Jaspersoft:这是基于 Eclipse 软件开发的图形化报表设计工具。
疾速上手
创立我的项目与模板
- 创立我的项目
- 抉择我的项目类型
- 输出项目名称
- 创立模板
- 抉择模型
- 模板名称
我的项目目录构造展现
OutLine 元素列表
根本元素
<font color=”red”> 模板参数(罕用)</font>
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 创立书签
Dataset 参数
When Resource Missing Type:(当资源的属性谬误时)
Null: 默认,为 Null。
Empty: 为空。
Key: 输入 key
Error: 报错,异样。
Scriptlet Class: (网上百度)自定义 scriptlet,可在报表生成时自定义一些行为。
Resource Bundle: 资源绑定,报表所用资源文件。
Default Data Adapter: 默认数据源,在这里,能够抉择数据源配置在哪里
_
数据源配置
Page Format: 报表格式化
简略报表
新建模板
- 保留 Title 和 Detail1
- 配置主表中的数据源和查问集
- 如图
-
能够通过 vairiable 变量表达式进行汇集函数运算的作用
<font color=”red”> 主报表与子报表互相传参 </font>
主报表配置
为什么应用主报表和子报表?
因为 Detail1 代表一条数据, 所以须要展现一对多的款式 (要求居中垂直) 时只凭一张报表无奈胜任, 这个时候应用 subreport 组件就是解决方案之一, 然而编译的时候会将子报表也进行编译。 - 款式配置
-
配置数据源
子报表配置
- 款式配置
只须要保留 Detail 即可依据报表的格局进行设置,将 Detail 的宽度和高度和外面的元素大小保持一致
- 创立参数
须要和主报表传过来的参数保持一致, 主报表中的参数前面会讲到如何设置。
将子报表配置放在后面是因为在拖拽 subreport 时须要抉择已存在模板。 - 配置数据源和查问条件
右键 OutLine 中以后报表, 抉择 DataSet and Query…
选项 -
预览
在主报表中配置 SubReport 组件
- 拖拽 SubReport 组件至主报表中
-
抉择文件
- 抉择雷同连贯
-
设置参数
<font color=”red”> 细节调整 </font>
-
如果主表中的表格高度无奈匹配子报表中的数据, 那么须要手动设置主表单元格的参数
1.1 更改 Position Type
1.2 更改 Stretch Type
如图主报表的表格动静高度设置
<font color=”red”> 报表上传时的注意事项 </font>
- 目前须要将奴才报表进行打包成 zip 格局
-
须要在压缩包里存在一个 xml 文件, 用来形容奴才报表的关系, 示例如下
<jrxml name="Main"> <item name="Sub"/> </jrxml>
<font color=”red”> 合并行内容的第二种计划: 应用 CrossTable 组件 </font>
应用 crosstable 的须要提前设计好表格的款式(须要展现多少个属性, 展现在什么中央)
CrossTab 须要放在 Summry 的 Band 中应用 sql 语句查问的时候多搁置一个字段
select uname,itemname,insure,insurepor,opermoney,extramoney,opermorate,1 a from insure where opermoney >$P{condition} order by uname
设置横列
用多余的就能够, 留神是否须要 total
设置竖列
展现多少个属性
设置穿插值
用竖列的其中一个属性就能够
设置 Cloumn group 高度
设置高度为 0px
设置程度居中、垂直居中
合并行的第三种计划: 勾销属性 Print Repeated Values(不举荐)
这种计划只是提供一种思路, 倡议还是通过 subreport 或者 crosstable 组件来实现行的合并
报表款式配置
一般来说须要合并的都会展现在最右边
设置属性
将 Print Pepeated Values 这一项设置勾销勾选
退出一个 Line 组件
因为左侧会勾销打印反复的行, 所以这个时候的左侧除第一行外会空进去一部分, 所以须要退出一个 Line 组件并设置 location 和 size 为 float 和 ContainerBottom。
<font color=”red”> 应用 Table 组件 </font>
- 拖拽 Table 组件
- 配置数据源
右键 DataSet1 和主报表中设置数据源的形式统一。 -
合并单元格
细节调整
- table 组件的 detail 不能超过主报表中的高度, 否则会报错
-
设置 variable 变量来进行聚合运算的时候将表达式转换为数值型, 否则可能不会失效
柱状图和饼图
柱状图
- 应用 Chart 组件, 抉择 BarChart
- 设置四维参数 Series、Value、Category 和 Label
与常见统计的 highchart 和 echart 相似
假如我要统计 1991 年到 2021 年各产业的 GDP,Value 就是只 GDP 的具体数值,Category 就是指年份 [1991~ 2021],而 Series 就是指第一产业到第三产业。
注:label 一般来说不须要关注, 如果只显示最初一个值的话那么就将 Lable 和 Category 设置成一样的。留神:value 为数值类型如 Long、Double 等, 否则预览时会出错。
- 创立 DataSet 并传递参数
点击上一步的 DataSet 中的 parameters 就能够设置参数
须要向以后的 SubDataSet 中传入参数, 能够是 Main DataSet 中的 Fields 中的其中一个属性。 -
如果是单柱状图, 则不须要 Series, 将 Properties 中的 Show Legend 设置为 false。
饼图
- 应用 Chart 组件, 抉择 PieChart
- 设置 Series、Key、Lable、Value
-
设置 DataSet
和柱状图一样依据须要传递参数
<font color=”red”> 肯定要设置图表的字体, 以后电脑的字体和与服务器反对的字体不统一, 所以须要手动设置字体 </font>报表平台上传模板文件
- 查看是否有对应数据源, 如果没有须要新建
- 报表治理中上传
- 实例化
-
预览
SpringBoot 中集成 Jaspersoft
新建 SpringBoot 我的项目
导入依赖
增加模板的动态资源
在生成 pdf 时可能会有乱码的问题呈现, 所以须要增加字体的动态资源
在应用 Jaspersoft 软件的过程中也须要设置字体
- 将字体文件增加到字体库中
- 批改模板格局
- 调用 export 办法生成 html 或者 pdf