Posted on 2015-09-02 10:36
FineReport——報表技術領跑者 閱讀(98)
評論(0) 編輯 收藏
我們平時打印報表中可能遇上很多問題,比如說想通過xml數據源制作模板,而非單獨通過數據庫sql語句導出數據,又比如說想實現靜默打印、預覽打印,及批量打印,或者想選擇不同的頁面,系統可根據自己的選擇,在點擊打印后選擇不同模板進行打印等等這些問題。也許一時半會得不到解決,今天我就來分享一下一些打印報表的問題解決方案。
報表開發需求描述
系統需求
1、已開發好的報表模板:供用戶打印及瀏覽;
2、未開發報表模板:可以讓用戶自主開發報表模板,并上傳保存到服務器,供后續打印及瀏覽。
具體需求列表
1、用戶可以通過xml數據源制作模板,而非單獨通過數據庫sql語句導出數據;
2、打印系統和報表系統實現單點登錄,以便用戶在系統切換過程中,無需再次登錄便可直接打印;
3、各倉庫報表模板存放于不同目錄下,方便后續管理;
4、能夠實現靜默打印、預覽打印,及批量打印等;
5、用戶選擇不同的頁面,系統可根據用戶的選擇,在點擊打印后選擇不同模板進行打印;
6、模板權限控制,用戶只能預覽及打印權限內的模板,對于其他模板,則沒有權限進行預覽及打印操作。
工具
報表開發工具:FineReport
FineReport是一款集數據展示(報表)和數據錄入(表單)功能于一身,用于快速構建企業信息系統的Java報表開發工具。
報表開發方案概述
報表開發流程設計
1、業務人員利用空數據的xml數據源制作報表;
2、將報表上傳至服務器;
3、用戶選擇打印模塊箭頭;
4、通過動態生成xml,打印出有數據的模板。
業務人員制作報表
1、通過加載空數據的xml數據源,獲取數據字段;
2、拖拽數據,制作模板;
3、將制作好的模板,通過開發的上傳頁面,將模板分類保存到不同目錄下(finereport無法直接完成、需自主編寫上傳)。
業務人員打印
1、業務人員在已開發好的頁面,選擇要打印的模塊;
2、選擇要打印的報表;
3、后臺生成有數據的xml,推送給報表模板(有接受參數接口);
4、直接打印(靜默打印)、或打印預覽(有打印接口)。
xml格式要求
生成的xml,須為二維表結構數據

Xml數據源轉換
用戶在制作報表時,用的是空數據的xml,但打印時,需實時連接有數據的xml。通過xml文件名,用參數形式實現動態轉換。

批量打印接口調用
直接通過Get或Post方式批量調用模板打印功能即可,如下function
