1. 程式人生 > >報表重構方案三

報表重構方案三

報表重構初步方案三

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略優。