報表重構方案三
報表重構初步方案三
1.什麼是需求可定製化抽取資料庫資料生成報表?
開發可隨時根據使用者的需求,讓使用者下載所需要的資料,並將資料整理成如PDF、CSV、XLS、TXT等文字檔案,甚至於各種折線圖、餅狀圖、柱狀圖等圖形檔案,讓使用者更為直觀的觀察和分析資料。
2.理論方面實現需求可定製化
先將使用者最基本的資料需求顯示在前端上,如果使用者有了新的資料需求,可以像開發人員提出需求的概述,開發人員會在後臺配好資料查詢語句,並將資料推到前端展示,以此來實現需求可定製化。
3.技術方面實現需求可定製化
後端技術框架 Spring Boot 。配置簡單,開發速度快。
前端可以選用 Spring Boot 預設支援的thymeleaf。
報表引擎選擇 BIRT。
開發工具eclipse / Myeclipse
4.為什麼選用BIRT
BIRT是一個Eclipse-based開源報表系統。它主要是用在基於Java與J2EE的Web應用程式上。
BIRT主要由兩部分組成:一個是基於Eclipse的報表設計和一個可以加到你應用服務的執行期元件。BIRT同時也提供一個圖形報表製作引擎。
BIRT報表由資料連線、資料轉換、業務邏輯設計、表現四個組成邏輯構成,可以設計製作簡單的列表報表、交叉報表和文字報表,也支援餅圖、折線圖、柱形圖等基礎圖表。
BIRT的優點:
操作介面清晰直觀。
佈局比較科學。
圖表還是比較美觀。
操作介面是中文
BIRT的缺點:
開發繁瑣。
與JasperReport相比使用更為笨重。
專案中使用BIRT
5. BIRT與Jasperreport的幾個細節功能對比
列印
BIRT不支援批量報表列印。Jasperreport有批量報表列印功能,但一般需要通過專門的程式設計實現批量報表列印;
BIRT列印方式中僅能對指定頁數進行控制,不支援列印時進行頁面設定、頁邊距調整等。
Jasperreport支援套打,需要一定編碼;BIRT不支援套打。
執行模式
Birt和JasperReport都是採用設計器來設計報表,然後由執行元件來生成報表,其中,Birt的報表只能由設計器來生成,而JasperReport可以獨立地由執行元件來生成報表,功能比較全面。
Birt的執行元件包括了全部需要的包,很佔空間(將近100M),JasperReport的執行元件是做小模式的(2M),需要生成哪種格式的報表檔案,就把那個格式所依賴的JAR包放入自己程式的lib中。
Birt比JasperReport要繁瑣的多,所要建立的資料夾platform名字是被定死的。Birt執行的關鍵步驟是先通過一段步驟獲得報表引擎,然後通過報表引擎建立不同的task來完成不同的報表操作。而JasperReport採用的是JasperRunManager類,由這個類的可以簡單的實現各種報表生成。
在程式碼需求量上,JasperReport的程式碼明顯比Birt要少。
報表設計
一般報表設計需要的元素,Birt和JasperReport都有。相對來說,JasperReport可以直接在報表上畫線和矩形,靈活性更大一點。
Birt和JasperReport的報表都是xml形式,但是JasperReport比Birt多了一個“編譯”的過程,既把報表xml檔案編譯為本地儲存的.jasper檔案(其實是把報表物件例項儲存到了硬碟上),生成報表的時候,JasperReport直接載入.jasper檔案而不需要再進行XML解析,效能比Birt略優。