ireport、FineReport、birt是近期比較主流的幾個報表插件,下面對比一下他們各自的功能報表插件基本功能對比。
報表設計
在報表設計方面,FineReport、BIRT、Ireport三個插件都支持簡單的數據列表、分組報表。但是對於FineReport支持度比較好的交叉報表、圖表類型、自定義圖表類型、橫向展開、不規則分組、多數據集/數據源、主從報表、子報表、格線、獨立格運算、靈活的嵌套運算、不規則的分片報表、Excel導入,BIRT和Ireport插件並不完全支持,具體對比如下:
finereport | Ireport | BIRT | |
---|---|---|---|
簡單的數據列表 | 支持 | 支持 | 支持 |
分組報表 | 支持 | 支持 | 支持 |
交叉報表 | 支持 與其他報表類型是一致的,可以混合和進行各種變化 |
支持 | 不支持多重交叉表 |
圖表類型 | 支持地圖、儀錶盤、雷達圖、雙軸柱線圖、餅圖、柱狀圖、線圖等16種樣式,37種圖表 | 不支持 報表中不支持圖表,而是通過image控制項實現,而且要在同一張報表中顯示多個圖表很困難; |
支持 1、僅三類統計圖 2、不支持Flash統計圖 |
自定義圖表類型 | 支持簡單圖表自定義 | 不支持 | 不支持 |
橫向展開 | 支持 | 不支持 | 不支持 |
不規則分組 | 支持 1、在報表中即可輕鬆實現 |
不支持 | 不支持 |
多數據集/數據源 | 支持 | 不支持 | 不支持 |
主從報表 | 支持 | 不支持 | 不支持 |
子報表 | 支持 | 僅支持單層 | 僅支持單層 |
格線 | 支持 | 不支持 | 不支持 |
獨立格運算 | 支持 | 不支持 | 不支持 |
靈活的嵌套運算 | 支持 | 不支持 | 不支持 |
不規則的分片報表 | 支持 | 不支持 | 不支持 |
Excel導入 | 支持Excel無縫導入 | 不支持 | 不支持 |
報表展現輸出
在報表展現方面,FineReport報表完全支持HTML方式展現,支持多種Excel文件導出,在列印方面支持套打、分頁分欄以及列印時的一些格式調整。下面對比報表插件BIRT和Ireport在這幾方面的表現:
finereport | Ireport | BIRT | |
---|---|---|---|
HTML方式展現 | 支持 | 支持 | 支持 |
導出文件類型 | 支持 1、EXCEL(帶公式、含列印屬性、可加密),PDF(可加密及設定許可權)、WORD、TEXT(帶格式)、XML、RAT |
支持 1、輸出HTML、PDF、EXCEL、CSV、XML;但不支持帶文本格式的導出; 2、不能實現不失真的導出PDF/EXCEL; 3、不支持不分頁的EXCEL導出方式,且不可控制是否導出隱藏行/列; |
PDF、EXCEL、WORD、TXT、PPT、POSTSCRIPT、HTML |
套打 | 支持 | 支持,需要一定編碼 | 不支持 |
列印分頁分欄 | 支持橫/縱向分頁列印,支持分欄列印,支持強制分頁 | 不支持 | 列印方式中僅能對指定頁數進行控制 |
靈活列印 | 支持 1、列印時可以進行頁面設置、頁邊距調整等 |
不支持 | 不支持 |
web報表高級功能
以上我們對比了基本的報表功能,但是作為一個合格的報表插件,還需要在交互性等報表高級功能方面表現良好。這些高級報表功能一般包括:互動式內容、支持自定義函數組織數據集、參數報表、遠程設計報表、報表批量列印、報表調度功能、數據透視功能、多層次匯總報表、單元格級的顯示或編輯許可權控制、報表訪問許可權控制等等。下面的表格對比三個插件在這些方面的表現。
finereport | Ireport | BIRT | |
---|---|---|---|
互動式內容 | 支持 1、支持關聯查詢,支持通用查詢等互動式應用 |
均不支持,交互能力較弱 | 均不支持,交互能力較弱 |
支持自定義函數組織數據集 | 支持 | 支持 | 支持 |
參數報表 | 支持 | 支持 | 支持 |
遠程設計報表 | 支持 1、報表設計器可遠程連接伺服器 |
不支持 | 不支持 |
報表批量列印 | 支持 | 不支持 | 不支持 |
報表調度功能 | 支持 | 不支持 | 不支持 |
數據透視功能 | 支持 1、可以通過簡單拖拽實現製作數據透視表 |
不支持 | 不支持 |
多層次匯總報表 | 支持 | 支持簡單匯總 | 不支持 |
單元格級的顯示或編輯許可權控制 | 支持 | 不支持 | 不支持 |
報表訪問許可權控制 | 支持報表許可權管理 | 集成到已有項目中,可以繼承項目中已有的許可權體系 | 集成到已有項目中,可以繼承項目中已有的許可權體系 |
數據採集能力
報表是報和表的集合體,「報」的內容即是數據。但是irepot、BIRT等這些國外報表對數據填報的北歐人能夠顯然重視度不夠:
finereport | Ireport | BIRT | |
---|---|---|---|
填報功能 | 支持 | 完全不支持填報 | 完全不支持填報 |
多數據源填報 | 支持 | ||
自由格式的填報表 | 支持 1、自由格式的填報表支持插入、添加、刪除多個錄入片區; |
||
編輯風格 | 支持 1、提供豐富的編輯框、複選框、下拉列表框、下拉日曆、下拉樹等常用的編輯風格 |
||
自動計算 | 支持 1、類似EXCEL的自動計算功能 |
||
合法性檢查 | 支持 1、提供數據類型校驗及自定義的合法性檢查; |
||
離線填寫 | 支持 1、EXCEL方式及HTML方式的離線填報 |
||
多級匯總填報 | 支持 |
最終用戶製表能力
首先解釋一下語義層技術的含義:「語義層」技術是通過對資料庫里的有關數據項定義,把資料庫中的數據定義成有明確的業務含義的名稱。業務人員所面對的不再是表、欄位和它們之間複雜的關聯、計算關係,而是他所熟悉的業務術語和指標名稱。
finereport | Ireport | BIRT | |
---|---|---|---|
語義層 | 支持 | 不支持 | 不支持 |
應用集成能力
一般報表都需要和其他的項目集成,所以一個好的報表插件必須要能夠和其他的項目或應用集成:
finereport | Ireport | BIRT | |
---|---|---|---|
報表部署與應用集成 | 可嵌入J2EE應用 | 可嵌入J2EE應用 | Java環境可直接嵌入應用 |
支持的操作系統 | 支持 1、windows系列,linux操作系統,unix操作系統 |
支持 1、windows系列,linux操作系統,unix操作系統 |
支持 1、windows系列,linux操作系統,unix操作系統 |
開放的應用介面 | 支持 1、嚮應用程序員開放了數百個JAVA的API調用,可以對報表進行深入控制 |
介面方式為API,但介面不夠豐富; | 介面方式為API,但介面不夠豐富; |
頁面的集成 | 隨意嵌入 | 支持 | 支持 |
web報表性能
finereport | Ireport | BIRT | |
---|---|---|---|
緩存機制 | 支持 1、模板緩存、結果緩存、分頁緩存三層緩存機制 |
不支持 | 不支持 |
並發控制 | 支持 | 不支持 | 不支持 |
對集群的支持 | 支持 | 不支持 | 支持 |
喜歡這篇文章嗎?歡迎分享按讚,給予我們支持和鼓勵!