前言
近期業務增加,需要給很多實施人員教育訓練報表模闆設計,以友善給不同的客戶定制化列印模闆.是以就把常用到的一些記錄一下.友善使用
一、安裝
官方下載下傳位址:https://community.jaspersoft.com/project/jaspersoft-studio/releases
選擇合适的版本,進行下載下傳.目前個人使用的是windows環境6.4.0版本.本文以6.4.0作為示例;
有興趣的小夥伴可以下載下傳最新版的嘗鮮.使用方式應該差不多
tips:下載下傳時,會要求注冊賬戶,或者登入已有賬戶.按提示注冊即可,在郵箱中激活賬号.
輕按兩下安裝包,按提示選擇安裝路徑,确認即可
二、界面說明
三、使用示例
1.建立一個新檔案
從工具欄選擇 File --》New --》Jasper Report
選擇初始紙張大小(A4,A4橫向等),紙張大小可在後續步驟調整
選擇要存放的項目
2.建立資料源
jasper支援很多資料源(sql直連,json等),這裡以json檔案做示例
先準備一個json檔案,通常由開發人員或者資料提供方給出,隻要是标準的json檔案即可.
配置一個新的資料源
3.設計字段導入
資料源配置以後,可以通過字段導入功能.快速新增可用字段變量
4.元件使用與指派
接下來設定一個文本框
綁定[單據号]字段
5.預覽
好了,這時我們已經完成了初步的配置,可以通過預覽功能看下效果
6.編譯
當模闆設計完成後,需要通過ctrl+s儲存,并編譯輸出jasper檔案.
jasper字尾名的檔案可以用提供第三方系統使用,或者進行二次編輯.
到這裡,就已經做出了一個簡單的jasper模闆
四、表單設計
1.紙張大小設定
2.頁面大小設定說明
3.頁面子產品說明
4.子表設計
需要先做準備
主表資料中心包含表體集合
需要将子表資料也抽出,配置一個子表資料源
在detail中從插入table元件
配置子表的資料源
表達式:
((net.sf.jasperreports.engine.data.JsonDataSource)
$P{REPORT_DATA_SOURCE}).subDataSource("表體")
tips:其中參數"表體"和主表資料源中,表體字段要保持一緻
子表字段及元素設定
拖選字段設定列
預覽效果如下
五、常用配置及問題記錄
1.為空字段不顯示NULL
字段屬性中勾選 Blank When Null
2.日期格式化
背景日期傳時間戳,轉化為日期類型:
new Date($F[時間戳]);
背景日期傳"2019-12-1 18:24:12"時想要格式化為"2019-12-1":
$F[長日期].split(" ")[0];
3.數值格式化
小數位格式化 eg:20.0000–>20.0
new BigDecimal($F{數量}).setScale(1,BigDecimal.ROUND_HALF_UP)
其中 1 代表要保留的小數位 ,BigDecimal.ROUND_HALF_UP代表四舍五入
4.字段不顯示
如果内容是中文,一般是字型問題,建議設定"宋體"
另一種情況,是字号太大,超出了給定文本框大小.可以将字号調整小一點
5. java表達式處理資料
表達式支援java文法和java自帶函數,可以做一些表達式做特殊操作
比如"N"轉換成"未稽核",“Y"轉換成"稽核”
“Y”.equals($F[稽核标志])?“稽核”:“未稽核”
6.自動換行
字段屬性中勾選Stretch With Overflow
7.條碼設計(條形碼,二維碼)
設計條碼時,要注意選擇的編碼格式能否支援資料源中的所有字元
8.重置元件面闆
當不小心關閉了某些面闆,比如說資料源設定,元件拖選面闆燈.可通過右上角的ReportDesign進行重置