報表技術之PDF格式報表生成 (JasperResport)

報表技術之PDF格式報表生成 (JasperResport)

1.JasperReport

IText PDF 類庫 , 編程非常複雜 ,運維成本非常高
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
2.IReport 圖形化報表開發工具 下載安裝

這裏寫圖片描述
這裏寫圖片描述
下載網址:

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

這裏寫圖片描述

安裝只需要默認即可完成。(路徑可以自己選擇),注意:可能需要jdk1.7才能打開
3.IReport 報表模板簡介和設置中文生成
3.1. 新建 JasperReport 模板文件 .jrxml
這裏寫圖片描述
這裏寫圖片描述

3.2.設置默認語言
對輸入中文內容 設置組件屬性
這裏寫圖片描述
這裏寫圖片描述
在 IReport 引入 ITextAsian.jar 字庫
這裏寫圖片描述
這裏寫圖片描述
3.3.瞭解報表模板結構
Title: 報表標題
PageHeader: 頁眉
ColumnHeader: 表格列標題
Detail: 表格數據內容
ColumnFooter: 表格頁腳
PageFooter: 頁腳
Summary: 摘要
這裏寫圖片描述
3.4.常用報表組件
這裏寫圖片描述
StaticText: 靜態文本
TextField : 顯示動態文本

設置預覽格式爲 PDF
這裏寫圖片描述
4.IReport 配置數據庫連接,基於數據表生成報表
這裏寫圖片描述
4.1.點擊按鈕配置數據庫連接
新建JDBC連接
這裏寫圖片描述
這裏寫圖片描述
4.2 在 ireport 添加 oracle 的 jdbc 驅動
這裏寫圖片描述
4.3 通過 ReportQuery 查詢數據庫
這裏寫圖片描述
這裏寫圖片描述
4.4.設計報表
這裏寫圖片描述

5.JasperResport 根據模板文件 生成報表
5.1. 設置 ireport 字段 自動換行
這裏寫圖片描述
這裏寫圖片描述

5.2將桌面(文件路徑)的waybill.jrxml文件複製到項目中
這裏寫圖片描述
5.3在頁面添加按鈕,並綁定點擊事件,提交表單
這裏寫圖片描述
5.4在maven項目的父模塊添加jasperReport依賴
這裏寫圖片描述
5.5 在 ReportAction 添加 exportJasperPdf 方法
這裏寫圖片描述
這裏寫圖片描述
問題:當項目的功能夠多時,可能會出現jar包衝突(當導入本次是jackson包衝突)
Caused by: java.lang.ClassNotFoundException:
com.fasterxml.jackson.annotation.ObjectIdResolver
在pom的座標中引入
這裏寫圖片描述
生成的PDF可能會出現沒有自動換行,因爲你的邊框沒有設置足夠的大小,導致換行的數據沒有被顯示出來,可以調高字段行高

效果展示(格式比較亂,可以細心去調每個內容的間距、行高等)
這裏寫圖片描述
5.6.從數據導入只能顯示與數據庫字段項匹配的,但是當想描述一些數據庫中沒有的數據,就需要以下操作
重新設計ireport報表:在 ireport 添加 符合 WayBill 對象屬性的 Field
這裏寫圖片描述
這裏寫圖片描述
修改 ReportAction 代碼
這裏寫圖片描述
這裏寫圖片描述
異常:

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 查詢數據代碼:
這裏寫圖片描述

注意:當模板中有中文時,一定要設置字體和字體的編碼
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章