Java報表工具,首先能夠分紅兩大類:純Java報表工具,和支持Java的報表工具。
支持Java的報表工具
咱們所說的」支持」Java的報表工具.其實就是非Java的報表工具,可是能夠在Java程序中調用.這樣的產品不少,總的講一大類是採用獨立報表服務器的,如Crystal Report,Brio,Cognos,和勤等;另外一大類是在前端有控件的,如數據報表等。
純Java的報表工具,就是用java語言編寫的報表工具,包括報表引擎、內核、設計器界面、操做等。主要的有:Style Report,潤乾報表、Jasper Report,Birt,Fine Report,ireport,傑表等。
筆者只針對其中三款純Java報表的中國式報表的處理作簡單比較: 所謂中國式報表或者說複雜報表,其最根本的特徵就是其格間關係的複雜度和佈局擴展的靈活性,比起傳統的以數據分組和聚合爲基礎的報表來講,中國式報表的佈局和格間計算都複雜得多,因此不少傳統的報表工具好比最著名的水晶報表在處理起這類複雜報表時就顯得比較吃力。
Java報表工具--潤乾:相似於Excel的能夠支持任意行列擴展的報表處理模式。
- 優勢:靈活性高。用戶能夠經過對每一個單元格的腳本進行簡單的計算和數據處理,而後經過單元格之間的關聯,進行分組和彙總等工做。但和傳統結構化報表設計不一樣的是報表表格再也不有一個固定的格式,最後的結果更是經過單元格的擴展,好像搭積木似的拼接起來。此類處理辦法是最徹底的處理辦法,國內其它廠家紛紛效仿。
- 缺點:學習和設計的難度和效率。因爲這種報表設計方法自己創建在很嚴謹的數學模型的基礎上,因此對於沒有很強數學功底或者編程經驗的普通人員來講,學習和掌握這種報表擴展和關聯技術經常須要很長的時間。第二個難點是在報表設計完成以後,其餘人來維護和理解困難也很大,這類報表寫起來感受功能十分強大,但讀起來有點像天書。
Java報表工具--傑表:經過拖拽加拼接的操做結合結構化設計的報表處理模式。
- 優勢: 依靠拖放式操做的的報表設計方式,以複雜報表模型,經過嵌入超級表格對象,將複雜報表的多層表頭以及分組問題能瞬間解決。相對於潤乾報表的學習難度和設計難度就低的多,而且操做過程簡便,節約開發時間成本。
- 缺點:感受功能限制仍是比較大,尤爲是對於中國式報表須要打印需求時,須要利用applet打印,須要在客戶端安裝十幾MB 的JRE。當談傑表提供100k左右的Jatoolsprinter控件,來改進打印,對於用戶來講須要另付費。
Java報表工具—Style Report將結構化設計和行列任意擴展相結合的混合型報表處理模式。
- 優點:易用。用戶對於大部分比較規則的傳統表格,就能夠經過拖拽直接創建報表而不須要學習複雜的腳本編程。而若是表格的複雜程度超過了通常拖拽等結構化設計所可以解決的難度,用戶就能夠經過與Excel相相似的任意行列擴展的方式來設計表格
- 缺點:報表表格的設計有兩套機制,用戶須要學習兩種不一樣的設計方法。根據項目的具體需求和人員配置,這些優缺點哪一個更重要就要本身判斷了。
固然,對複雜表格的支持只是選擇報表工具不少要求中的一點。若是是一次性的使用,咱們能夠只關注軟件和當前需求的匹配,若是是準備長期使用的軟件,就須要關注軟件整體設計思惟和它長期的發展方向。