FineReport報表軟體針對複雜格式的報表數據及Web報表的展現,通過多源分片、不規則分組、雙向擴展來輕鬆拖拽做複雜格式的報表,製作報表從此擺脫了複雜的SQL和表達式,不需要編程,大大提高了報表製作的效率。
相對於Crystal Report(水晶報表),FineReport報表無論是在報表設計,數據展現,還是表單,應用集成等方面,都具有明顯的優勢。
報表設計
在報表設計方面,FineReport報表工具的優勢主要體現在以下幾個方面:
• 多數據源
FineReport報表設計天然支持多數據源(集),同一張報表的數據可同時來自多個數據表,多個不同的資料庫,或者多個不同的用戶自定義數據視圖,然後在報表中可直接相互運算形成最終的報表。
並且連接數據源的方式也多種多樣,支持JDBC,JNDI數據源,如Oracle,DB2,SQLServer,MySQL等主流的資料庫,自定義的程序數據源,文本數據源,Hibernate數據源,Remedy等等,同時數據源具有無限的擴展性,可以支持WebService,SOA等標準的數據。
Crystal Report(水晶報表)在理論上只支持單數據集,對多集的支持依賴於資料庫的運算能力(叉乘與聯合等或寫存儲過程),多庫一般難以支持。另外一種處理方式,就是將多數據源先變相整理成單一數據源,然後再進行其它操作,並不是真正意義上的多數據源。
• 分組的調整,不完全分組
分組是報表數據當中,最常見的方式。FineReport報表工具的分組,是建立在單元格的基礎之上,因此刪除分組,更改分組欄位等操作,就只需要對單元格進行操作,與報表內其它的數據無關。另外,在很多情況下,數據並非枚舉式的完全分組,而是一些固定行列,或者按段分組等形式,FineReport報表提供了用戶自定義分組,只需要添加一些條件,即可達到不規則分組的目的。
Crystal Report(水晶報表),所有的數據都被劃分在條帶狀的模型當中,刪除分組時會將相關的分組匯總單元一併刪除,調整分組欄位只能刪掉重建,整個操作比較繁瑣,且會導致重複工作。而不規則分組,在Crystal Report當中,則僅僅只是修改組名,無法修改其它跟隨數據的計算。
• 數據擴展和交叉表
FineReport報表工具的數據擴展,是雙向的,也就是行列對稱,橫縱方向能力一致,可以方便地製作交叉報表(多層),可同行式表一樣製作複雜表頭。
Crystal Report(水晶報表)製作交叉報表的方式,是採用專門的交叉表模型,其表頭是按照嚮導自動生成的,缺乏靈活性。
• 報表分片
複雜報表當中,報表分為多片的現象非常常見,即整個報表是一個大的規則的報表,但是實際上可以分為多個不規則的小區域,各個區域之間看似沒有聯繫,但是數據之間實際可以相互關聯。FineReport由於支持多數據源,以及數據的行列對成擴展,因此支持報表的各片獨立重複或者相互運算,並且允許固定和變動分片的混合。
Crystal Report(水晶報表)的單表模型不能支持分片。對於分片的報表,一種處理方法是事先編程準備數據,另一種則是靠子報表拼接來完成。處理相當繁瑣,並且這兩種處理方法也並非每次都能夠達到要求,設計出需要的報表格式。
• 跨行組運算
報表中常常需要有跨行組的運算,如比上期、比去年同期等。FineReport報表的單元格層次坐標概念可以精確地引用任何一個擴展之後的單元格,然後通用地寫出表達式進行這些跨行組運算。
Crystal Report(水晶報表)只能簡單地支持某些固定的跨行運算,如累積值、比上期等,更複雜的跨行組計算只能事先編程準備數據。
報表展現和輸出
• 類Excel的界面風格
FineReport報表工具的界面風格,是完全類似於Excel的,格線對齊的編輯方式,極大的便利了報表的設計和輸出,並且單元格內屬性比較自由靈活,可以得到格式任意複雜的報表。
Crystal Report(水晶報表)均採用控制項拖拽式繪製報表,這種方案完全沒有體現表格的規律性,當表頭複雜的時候,對齊非常繁瑣。而且與解析度相關,屏幕上對齊的表格,在網頁上和列印時又無法對齊。
• 輸入輸出
FineReport報表支持單個或者批量導入Excel文件,這樣可以由業務人員,事先畫好表樣,提高製作報表的效率,並且,批量導入,更加的減輕重複的工作。生成的報表文件可輸出為HTML、不失真的PDF、Excel、Word、CSV、SVG和文本文件等多種樣式。另外,還可生成內置的模板文件。
Crystal Report(水晶報表)無法支持導入Excel文件,最多只能從Excel讀取數據。其生成的HTML一般只能支持IE;導出EXCEL時經常只有數據而喪失格式,個別工具完成得比較仔細,但也嚴重依賴於表格繪製時對齊的程度,生成的文本也只包括數據而喪失格式,無法支持字元終端的報表列印需求。
• 套打
FineReport報表採用底圖描繪,絕對定位的方式完成套打表樣的繪製,用戶可將要套打的票據掃描進來作為背景圖,用報表設計器進行數據的位置擺放,可以精確定位數據的位置。
Crystal Report(水晶報表)只能採用精確度量的方案,量好套打票據的尺寸來設置表格控制項的大小,操作繁瑣,效率很低。
• 分頁列印,分欄以及其它列印控制
FineReport提供了全部的報表列印控制:按照分組或者其它任意的方式來進行強制分頁,補足空行。
分頁時標題可重複,不僅是上表頭,表格較寬的報表,其左表頭也可設置分頁時重複顯示。
數據可進行自由分欄,較長的報表,可以按照行分欄,顯示成多列;列數較多的報表,可以使用列分欄來多行顯示到同一個頁面當中。
Crystal Report(水晶報表),一般只能支持上表頭重複,不可以進行強制分頁,補足空行,分欄等操作。
表單
表單的回填是Crystal Report(水晶報表)完全不能支持的功能。FineReport支持基於純HTML的表單回填,支持各種主流的瀏覽器。
• 編輯風格
表單提供普通文本編輯框、複選框、下拉列表框、下拉日曆、文件上傳等。
• 自動計算
表單可支持類似EXCEL的自動計算功能,程序根據用戶的設置在前端生成JavaScript表達式完成自動計算。自動計算還可跨表,多sheet之間的相互運算。
• 數據一致性校驗
支持對回填的數據進行合法性檢查。
• 數據的擴展
允許報表單元格與資料庫欄位間任意對應,並有自動擴展的能力。支持任意格式的表單回填數據。
• 直接回填到資料庫
用戶填寫的數據,都直接存儲到資料庫當中,無需中間環節。
• 多級匯總填報
表單的報表同時還是個統計表,單元格數據可以有不同的來源和去向,這樣可以先從下級機構匯總出數據再加以補充修改後填寫到上級資料庫中。
FineReport報表,其製表效率十倍於以國外產品為代表的傳統報表工具。
對比點 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
列印分頁分欄 橫縱向均可,強制分頁 僅支持縱向,且不可分欄
其它列印控制 一紙多頁,補空行,縮放 縮放
表單 編輯風格 文字編輯、下拉選擇等 不支持
自動計算 支持
合法性檢查 支持
資料庫對應 隨意自動,行/列/交叉均可
多級匯總填報 支持
部署和應用集成
• WEB部署
FineReport報表工具的服務程序以JAR包形式出現,可與應用程序統一打成包一起部署在應用伺服器上,安裝非常輕鬆。
水晶報表(Crystal Report)的獨立伺服器方案需要單獨安裝,報表文件也須單獨部署,無法和應用程序一起更新。
• 環境的支持
FineReport報表採用純JAVA開發,無論報表設計器還是伺服器均支持所有可部署JDK的操作系統、有JDBC介面的資料庫,特別對於UNIX/LINUX的支持與Windows是完全一樣的。而非JAVA的報表工具在這方面要困難得多。
• 豐富的API介面
FineReport報表工具嚮應用程序員提供了結構清晰,豐富的JAVA API調用,可以對報表進行擴展和深度控制。
Crystal Report(水晶報表)採用獨立伺服器方案,應用介面通過網路協議完成,介面數量稀少、控制力度弱,而且嚴重影響性能。統計圖等HTML外置資源還常常採用原始的CGI方式,會在文件系統中留下難以管理的臨時文件。
• 頁面的集成
FineReport報表生成的HTML可在應用頁面(JSP)中隨意嵌入擺放,對從瀏覽器端完全看不出集成了第三方產品。
Crystal Report(水晶報表)均有自己獨立的門戶機制,很難將生成的HTML隨意嵌入到頁面中,常常必須帶出其產品本身的報表管理界面,難以做到無縫嵌入。

FineReport報表免費下載——零編碼做報表、多維圖表、多源填報、許可權管理,完美兼容excel官網:http://www.finereport.com/tw/