fastreport和finereport是常見的兩款報表工具(名稱有些相似,不要搞混亂)。今天閒聊一下兩者的區別。自己在專案中兩者都用過。

報表架構

fastreport是FastReports, Inc.公司的旗艦產品,也是Delphi平台最優秀的報表控制項,可以為.NET應用程序添加報表的支持,是C/S報表。隨著B/S架構的發展,C/S將漸漸告別歷史舞台。
FineReport是純java報表工具,支援B/S報表生成。在這一點上,fastreport稍遜色。

資料源整合能力

fastreport使用ADO.NET數據源,官方講可以連接到任何資料庫,如直連到ADO、SQL、和xml數據,並可以對數據分析排序、數據過濾。實際使用的時候發現,fastreport不支援程序數據源,只支援資料庫單連,沒有辦法支援多資料源,對於有BI多維資料庫需求的,無力支撐。
帆軟的finereport的資料連接功能強大太多了,支持Oracle、SQLServer、MySQL、DB2、Sybase、Access、Derby、Postgre、支持SAP數據集、存儲過程、BI多維資料庫等,還有內置數據,方便開發者測試。

報表設計

fastreport的設計界面是面板式、條帶式的,非常不適宜設計交叉報表或者有複雜表頭的報表。而且在設計的時候需要編寫大量的腳本程式。
舉個例子:一個簡單報表中需要用紅色來顯示負數,這個處理需要在Delphi中的事件處理中編寫代碼,但並不通用,因為它不允許在Delphi外創建報表而無需重新編譯,這就是為什麼要在fastreport中要寫腳本語言。
FineReport報表工具主打零程式碼+拖拽操作,在設計報表的效率上,實現的功能複雜性上則更好。用fastreport製作報表需要高級程式設計師,而finereport可能只要懂點SQL懂資料庫就很快可以上手。

報表展現

fastreport只是一個簡單的報表控制項,所以能展現的報表樣式也是有限的。以圖表製作展示為例,fastreport支援幾乎所有報表工具都支援的柱形圖、餅圖、面積圖、條形圖、折線圖和散點圖,且樣式很少,實現效果不夠美觀。
FineReport則在報表展現方面處於佼佼者地位,支援各種圖表類型和樣式,比如地圖、雷達圖、股價圖、圓環圖等圖表製作;支持圖表動態效果展現,比如數據點提示、坐標軸提示、坐標軸縮放,圖表動畫效果。良好的報表展現和數據分析,如頁面即時分析,數據鑽取分析。

行動端體驗

行動互聯時代已經來臨,行動端查看報表的呼聲越來越高。通過行動端,人們可以在出差時、在碎片時間查閱報表,處理公司 事務,遺憾的是fastreport並不支援製作行動端報表。
FineReport的行動端功能支援集成到用戶APP中,而自己原生的APP支持IOS和Android兩種系統。利用組件式設計、響應式布局,簡單製作符合行動端屬性的報表,一次設計,多種行動終端上完美展現。

資料採集功能

之所以國外報表工具在國內水土不服,是因為無法滿足複雜格式的報表需求,更不理解不支援資料採集的功能,國情決定成敗。老外認為,報表工具是用來展示的,怎麼要用來收集資料,Crystal Report(水晶報表)、fastreport都是這個思維。
finereport有著強大的資料採集功能,叫做填報功能,製作簡單,風格樣式豐富,可實現多種上報流程業務和離線填報業務。實現對資料庫的增刪改。

學習成本

報表工具的使命是提高項目進度,節約項目成本,fastreport也是如此,但他只做到了一點點。首先fastreport對程式碼的依賴,屏蔽掉了一大批人,只有技術高超的程式設計師才會使用,其次fastreport的設計器和資料多是英文,對使用者的英文水平是個很大的考驗,再次fastreport學習資料匱乏,沒有技術支援,一旦遇到問題叫天天不應叫地地不靈。總之,fastreport的學習成本極高。相比之下,finereport卻易學易用易集成,豐富的學習資料,多樣的答疑渠道,完善的售後支援,學習成本極低。

總結一下

專案基本上用finereport替代了原來所有的fastreport。相對fastreport,finereport報表工具無論在實現語言、報表設計和處理、展現的多樣性,還是集成應用方面,都有著明顯的優勢。fastreport功能點少、學習成本高的特徵將漸漸被時代所淘汰,以finereport為代表的新一代報表工具越來越夯。

FineReport提供免費版可以試用,官網可下載


共 3 則回應

1 樓 · leohope · 發表於 2019-08-20 15:34 · 檢舉

希望對大家有用處


2 樓 · 數據達人 · 發表於 2019-08-20 15:37 · 檢舉

正在用FineReport,靈活性相當高,別於其他report,操作簡單圖表豐富!


3 樓 · Yoo Ha · 發表於 2019-08-24 00:12 · 檢舉

有一些視頻範例、學習速度可以加快~FineReport Help用起來不錯:)