說到水晶報表Crystal Reports大家都很熟悉,是報表工具領域元老級別的軟體,後備SAP收購,但近幾年漸漸很少聽到它的聲音了,有的朋友會來問這款軟體到底怎麼樣?今天通過和FineReport的比較的來為大家做一個參考。

什麼是水晶報表Crystal Reports?
水晶報表Crystal Reports是一款起源於1991年的報表工具,它可以整合多達十二種格式的資料源,創建功能強大格式豐富的動態報表。後備sap公司收購。水晶報表Crystal Reports官網可以下載到Crystal Reports 2016 試用版本,30天的有效期限。之後要付費使用。
水晶報表和FineReport報表比較
下面我們來說說水晶報表和FineReport報表比較情況
FineReport報表軟體 ,針對複雜格式的動態報表即web報表的展現通過多源分片、不規則分組、雙向擴展來輕鬆拖拽做複雜格式的報表,製作報表從此擺脫了複雜的SQL和表達式,不需要程式編碼,大大提高了報表製作的效率。
下面我們從幾個方面對FineReport和Crystal Reports 進行對比。
一、水晶報表與FineReport報表對比——設計的靈活性和快捷性
1.支援多數據源
FineReport動態報表與BI商業智慧軟體設計天然支援多數據源(集),同一張報表的數據可同時來自多個數據表,多個不同的資料庫,或者多個不同的用戶自定義數據視圖,然後在報表中可直接相互運算形成最終的報表。
並且連接數據源的方式也多種多樣,支援JDBC,JNDI數據源,如Oracle,DB2,SQLServer,MySQL等主流的資料庫,自定義的程序數據源,文本數據源,Hibernate數據源,Remedy等等,同時數據源具有無限的擴展性,可以支持WebService,SOA等標準的數據。

Crystal Report(水晶報表)在理論上只支援單數據集,對多集的支援依賴於資料庫的運算能力(叉乘與聯合等或寫存儲過程),多庫一般難以支援。另外一種處理方式,就是將多數據源先變相整理成單一數據源,然後再進行其它操作,並不是真正意義上的多數據源。
2.分組的調整,不完全分組
分組是報表數據當中,最常見的方式。FineReport報表工具的分組,是建立在儲存格的基礎之上,因此刪除分組,更改分組欄位等操作,就只需要對儲存格進行操作,與報表內其它的數據無關。另外,在很多情況下,數據並非枚舉式的完全分組,而是一些固定列欄,或者按段分組等形式,FineReport提供了用戶自定義分組,只需要添加一些條件,即可達到不規則分組的目的。

Crystal Reports 水晶報表,所有的數據都被劃分在條帶狀的模型當中,刪除分組時會將相關的分組匯總儲存格一併刪除,調整分組欄位只能刪掉重建,整個操作比較繁瑣,且會導致重複工作。而不規則分組,在Crystal Reports當中,則僅僅只是修改組名,無法修改其它跟隨數據的計算。
3.數據擴展和交叉表
FineReport報表工具的數據擴展,是雙向的,也就是列欄對稱,橫縱方向能力一致,可以方便地製作交叉報表(多層),可同列式表一樣製作複雜表頭。

Crystal Reports(水晶報表)製作交叉報表的方式,是採用專門的交叉表模型,其表頭是按照嚮導自動生成的,缺乏靈活性。
4.報表分片
複雜報表中,報表分為多片的現象非常常見,即整個報表是一個大的規則的報表,但是實際上可以分為多個不規則的小區域,各個區域之間看似沒有聯繫,但是數據之間實際可以相互關聯。FineReport由於支援多數據源,以及數據的列欄對稱擴展,因此支援報表的各片獨立重複或者相互運算,並且允許固定和變動分片的混合。

Crystal Reports(水晶報表)的單表模型不能支援分片。對於分片的報表,一種處理方法是事先寫程式碼準備數據,另一種則是靠子報表拼接來完成。處理相當繁瑣,並且這兩種處理方法也並非每次都能夠達到要求,設計出需要的報表格式。
5.跨行組運算
報表中常常需要有跨行組的運算,如比上期、比去年同期等。FineReportBI儲存格層次坐標概念可以精確地引用任何一個擴展之後的儲存格,然後通用地寫出表達式進行這些跨行組運算。
Crystal Report(水晶報表)只能簡單地支援某些固定的跨行運算,如累積值、比上期等,更複雜的跨行組計算只能事先寫程式準備數據。
二、水晶報表與FineReport報表對比——報表展現和匯出
1.類Excel的界面風格
FineReport動態報表與BI商業智慧軟體的界面風格,是完全類似於Excel的,格線對齊的編輯方式,極大的便利了報表的設計和輸出,並且儲存格內屬性比較自由靈活,可以得到格式任意複雜的報表。

Crystal Reports(水晶報表)均採用控制項拖拽式繪製報表,這種方案完全沒有體現表格的規律性,當表頭複雜的時候,對齊非常繁瑣。而且與解析度相關,屏幕上對齊的表格,在網頁上和列印時又無法對齊。

2.匯入匯出
FineReportBI商業智慧工具支援單個或者批量匯入Excel檔,這樣可以由業務人員,事先畫好表樣,提高製作報表的效率,並且,批量匯入,更加的減輕重複的工作。生成的報表檔案可匯出為HTML、不失真的PDF、Excel、Word、CSV、SVG和文本檔案等多種樣式。另外,還可生成內置的模板檔案。

Crystal Report(水晶報表)無法支援導入Excel檔案,最多只能從Excel讀取數據。其生成的HTML一般只能支援IE;匯出EXCEL時經常只有數據而喪失格式,個別工具完成得比較仔細,但也嚴重依賴於表格繪製時對齊的程度,生成的文本也只包括數據而喪失格式,無法支援字元終端的報表列印需求。
3.套打
FineReportBI商業智慧軟體採用底圖描繪,絕對定位的方式完成套打表樣的繪製,用戶可將要套打的票據掃描進來作為背景圖,用報表設計器進行數據的位置擺放,可以精確定位數據的位置。

Crystal Report(水晶報表)只能採用精確度量的方案,量好套打票據的尺寸來設定表格控制項的大小,操作繁瑣,效率很低。
4.分頁列印,分欄以及其它列印控制
FineReportBI商業智慧工具提供了全部的報表列印控制:按照分組或者其它任意的方式來進行強制分頁,補足空行。分頁時標題可重複,不僅是上表頭,表格較寬的報表,其左表頭也可設置分頁時重複顯示。數據可進行自由分欄,較長的報表,可以按照列分欄,顯示成多欄;欄數較多的報表,可以使用欄分欄來多列顯示到同一個頁面當中。
Crystal Reports(水晶報表),一般只能支援上表頭重複,不可以進行強制分頁,補足空行,分欄等操作。
三、水晶報表與FineReport報表對比——資料採集表單功能
資料採集表單是Crystal Reports(水晶報表)完全不能支援的功能。FineReport支援基於純HTML的表單回填,支援各種主流的瀏覽器。在需要資料採集的企業場景中多有應用。

1.編輯風格
表單提供普通文本編輯框、複選框、下拉列表框、下拉日曆、檔案上傳等。

2.自動計算
表單可支援類似EXCEL的自動計算功能,程序根據用戶的設定在前端生成JavaScript表達式完成自動計算。自動計算還可跨表,多sheet之間的相互運算。
3.數據一致性校驗
支援對回填的數據進行合法性檢查。
4.數據的擴展
允許報表儲存格與資料庫欄位間任意對應,並有自動擴展的能力。支援任意格式的表單回填數據。

5. 直接回填到資料庫
用戶填寫的數據,都直接存儲到資料庫當中,無需中間環節。
6.多級匯總填報
表單的報表同時還是個統計表,儲存格數據可以有不同的來源和去向,這樣可以先從下級機構匯總出數據再加以補充修改後填寫到上級資料庫中。
FineReport報表,其製作報表的效率幾倍於以crystal reports為代表的傳統報表工具。
四、水晶報表與FineReport報表對比——部署和應用整合
1. WEB部署
FineReport報表工具的服務程序以JAR包形式出現,可與應用程序統一打成包一起部署在應用伺服器上,安裝非常輕鬆。
水晶報表(Crystal Reports)的獨立伺服器方案需要單獨安裝,報表檔也須單獨部署,無法和應用程序一起更新。
2.環境的支援
FineReport報表採用純JAVA開發,無論報表設計器還是伺服器均支援所有可部署JDK的操作系統、有JDBC介面的資料庫,特別對於UNIX/LINUX的支援與Windows是完全一樣的。而非JAVA的報表工具在這方面要困難得多。
3.豐富的API介面
FineReport報表工具嚮應用程序員提供了結構清晰,豐富的JAVA API調用,可以對報表進行擴展和深度控制。
Crystal Report(水晶報表)採用獨立伺服器方案,應用介面通過網路協議完成,介面數量稀少、控制力度弱,而且嚴重影響性能。統計圖等HTML外置資源還常常採用原始的CGI方式,會在檔案系統中留下難以管理的臨時檔案。
4.頁面的集成
FineReport報表生成的HTML可在應用頁面(JSP)中隨意嵌入擺放,對從瀏覽器端完全看不出集成了第三方產品。

Crystal Report(水晶報表)均有自己獨立的門戶機制,很難將生成的HTML隨意嵌入到頁面中,常常必須帶出其產品本身的報表管理界面,難以做到無縫嵌入。
五、水晶報表與FineReport報表對比——資料視覺化與dashboard
FineReport報表工具不斷升級改進,目前已經到FineReport 10.0版本,幾個月就會有一次更新升級,目前很多企業的BI需求也常常使用FineReport來實現,FineReport與Tableau,Power BI進行比較考察是常見場景。FineReport提供五十多種豐富的圖表格式,包含3D圖表,可以靈活製作用戶想要的任何dashboard。

Crystal Reports水晶報表目前停留在2016年的版本之上,產品的升級幾乎處於停滯狀態,隨著企業業務的不斷發展,會越來越不能滿足客戶多變的需求。
六、水晶報表與FineReport報表對比——技術服務和支援
FineReport在台有在地技術支援團隊,提供線上線下全方位的技術服務和實施專案服務。同時FineReport開放萬人線上論壇,完全免費的線上說明文檔,線下教育訓練,線上影片教學,使用者輕鬆獲取足夠的課程資源,學習速度快成本低。

Crystal Reports在技術服務和文檔方面十分缺乏,多是英文資料,學習資料不易取得,學習成本高。
下面是一些其他方面對比,我們在表格中做一個簡潔的整理
對比點 | FineReport | CrystalReport | |
---|---|---|---|
應用整合 | 後台的環境支援 | 純JAVA,全支援 | 個別產品只支持Windows |
前台的環境支援 | 純HTML,全支援 | 一般僅支持IE | |
J2EE的應用伺服器管理 | 嵌入應用,可充分利用應用伺服器各項能力 | 獨立伺服器,應用伺服器能力不可利用 | |
J2EE的WEB部署 | 與應用統一部署 | 單獨安裝部署,操作繁瑣 | |
J2EE的應用介面 | 豐富齊全,結合緊密 | 通過網路協議,力度不足,統計圖常採用古老的CGI方式 | |
Java Application集成 | 支援 | 非純JAVA的不支援 | |
.NET的應用集成 | 支援,獨立服務 | 支援 | |
頁面的集成 | 完全隨意嵌入 | 獨立門戶,很困難 | |
用戶權限控制 | 與應用程序一致 | 獨立機制很繁瑣 | |
IDE整合能力 | 有限支援 | 不支援 | |
並發能力 | 較強,4萬儲存格表在512M內存可並發50個以上 | 基礎程序對內存要求很高,並發數較少 | |
數據設計 | 多數據源(集) | 直接 | 間接支援 |
完全分組(多層) | 支援 | 支援,較繁瑣 | |
完全交叉(多層) | 支援,無須專門處理 | 支援,用專門的交叉模型 | |
不完全分組/固定列欄 | 支援 | 編程準備數據 | |
上下分片 | 支援,上下格式可不一致,固定變動混合 | 格式一致的可寫程式準備數據,否則必須拼子表完成 | |
左右分片 | 支援,固定變動混合,直接運算性能高 | 固定列的可寫程式準備數據,採用DB叉乘性能很差 | |
跨列組運算 | 支援,隨意通用 | 固定的簡單跨列運算,跨組不支援 | |
獨立格運算 | 支援,隨意通用 | 固定幾種運算,來自DB的要專門處理 | |
主從報表 | 無須子表概念即可完成 | 須用子表,數據無法溝通 | |
子表 | 多層任意,格線可對齊可縮放,橫縱向均可自動擺位 | 一般兩層,橫向表不可自動擺位 | |
參數與宏 | 均支援 | 僅支援參數 | |
報表展現 | 基本方案 | EXCEL網格式,方便快捷 | 控制項式,對齊繁瑣 |
匯入EXCEL | 支援 | 不支援 | |
套打繪製 | 底圖描繪 | 精確度量 | |
報表匯出格式 | 標準HTML,PDF,word完全不失真的EXCEL,帶格式文本 | PDF,特殊HTML,喪失格式的EXCEL,無格式文本 | |
圖表匯出格式 | GIF,JPG,PNG | GIF,JPG | |
列印分頁分欄 | 橫縱向均可,強制分頁 | 僅支援縱向,且不可分欄 | |
其它列印控制 | 一紙多頁,補空行,縮放 | 縮放 | |
資料採集回填表單 | 編輯風格 | 文字編輯、下拉選擇等 | 不支援 |
自動計算 | 支援 | ||
合法性檢查 | 支援 | ||
資料庫對應 | 隨意自動,列/欄/交叉均可 | ||
多級匯總採集表單 | 支援 |
總體來說,相對於Crystal Reports(水晶報表),FineReport無論是在報表設計,數據展現,還是資料回填表單,應用集成和服務支援等方面,都具有明顯的優勢。
FineReport報表BI軟體個人完全免費,沒有時間限制:免費試用FineReport10.0>
分析自己的需求,找到合適BI工具,推薦閱讀
如何選擇合適的BI工具?回答好這12個問題就可以搞定!
你想了解更多關於商用報表軟體和開源報表軟體的資訊,推薦你閱讀這篇文章:2019年有哪些報表工具推薦?9款開源報表和7商用報表
你想了解更多關於FinReport與其他BI報表工具的對比情況,推薦你閱讀這篇文章:
FastReport報表怎麼樣?來看與FineReport報表工具的對比
14大關鍵點,2020年最詳細Power BI ,Tableau ,FineReport比較
開源報表JasperReport+Ireport怎麼樣?來看與FineReport報表的對比
喜歡這篇文章嗎?歡迎分享按讚,給予我們支持和鼓勵!