欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

报表技术之PDF格式报表生成 (JasperResport)

程序员文章站 2022-04-30 20:38:54
...

报表技术之PDF格式报表生成 (JasperResport)

1.JasperReport

IText PDF 类库 , 编程非常复杂 ,运维成本非常高
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
2.IReport 图形化报表开发工具 下载安装

报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
下载网址:

http://community.jaspersoft.com/project/ireport-designer/releases

报表技术之PDF格式报表生成 (JasperResport)

安装只需要默认即可完成。(路径可以自己选择),注意:可能需要jdk1.7才能打开
3.IReport 报表模板简介和设置中文生成
3.1. 新建 JasperReport 模板文件 .jrxml
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)

3.2.设置默认语言
对输入中文内容 设置组件属性
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
在 IReport 引入 ITextAsian.jar 字库
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
3.3.了解报表模板结构
Title: 报表标题
PageHeader: 页眉
ColumnHeader: 表格列标题
Detail: 表格数据内容
ColumnFooter: 表格页脚
PageFooter: 页脚
Summary: 摘要
报表技术之PDF格式报表生成 (JasperResport)
3.4.常用报表组件
报表技术之PDF格式报表生成 (JasperResport)
StaticText: 静态文本
TextField : 显示动态文本

设置预览格式为 PDF
报表技术之PDF格式报表生成 (JasperResport)
4.IReport 配置数据库连接,基于数据表生成报表
报表技术之PDF格式报表生成 (JasperResport)
4.1.点击按钮配置数据库连接
新建JDBC连接
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
4.2 在 ireport 添加 oracle 的 jdbc 驱动
报表技术之PDF格式报表生成 (JasperResport)
4.3 通过 ReportQuery 查询数据库
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
4.4.设计报表
报表技术之PDF格式报表生成 (JasperResport)

5.JasperResport 根据模板文件 生成报表
5.1. 设置 ireport 字段 自动换行
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)

5.2将桌面(文件路径)的waybill.jrxml文件复制到项目中
报表技术之PDF格式报表生成 (JasperResport)
5.3在页面添加按钮,并绑定点击事件,提交表单
报表技术之PDF格式报表生成 (JasperResport)
5.4在maven项目的父模块添加jasperReport依赖
报表技术之PDF格式报表生成 (JasperResport)
5.5 在 ReportAction 添加 exportJasperPdf 方法
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
问题:当项目的功能够多时,可能会出现jar包冲突(当导入本次是jackson包冲突)
Caused by: java.lang.ClassNotFoundException:
com.fasterxml.jackson.annotation.ObjectIdResolver
在pom的坐标中引入
报表技术之PDF格式报表生成 (JasperResport)
生成的PDF可能会出现没有自动换行,因为你的边框没有设置足够的大小,导致换行的数据没有被显示出来,可以调高字段行高

效果展示(格式比较乱,可以细心去调每个内容的间距、行高等)
报表技术之PDF格式报表生成 (JasperResport)
5.6.从数据导入只能显示与数据库字段项匹配的,但是当想描述一些数据库中没有的数据,就需要以下操作
重新设计ireport报表:在 ireport 添加 符合 WayBill 对象属性的 Field
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
修改 ReportAction 代码
报表技术之PDF格式报表生成 (JasperResport)
报表技术之PDF格式报表生成 (JasperResport)
异常:

Caused by: QueryPhaseExecutionException[Result window is too large, from + size must be less than or equal to: [10000] but was [2147483647]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level parameter.]

修复 WayBillServiceImpl 查询数据代码:
报表技术之PDF格式报表生成 (JasperResport)

注意:当模板中有中文时,一定要设置字体和字体的编码
报表技术之PDF格式报表生成 (JasperResport)

相关标签: 报表