曾幾何時,中國大地上用來進行數據分析的報表管理系統群雄並起,為了掙得一席之地,各報表廠商使出渾身解數,廣告到處是,價格各種低,拼的血肉橫飛。但奇怪的是,受市場歡迎的竟然是Jasperreport+ireport、birt報表這樣開源的java報表工具。究其原因,無非是這兩個詞「開源」、「免費」。 時間轉到2014年第4季度,當年炙手可熱的開源報表軟體是否還那麼受歡迎,是否還擁有那麼多的粉絲?經典的、較知名的開源報表工具有「JasperReports」、「ireport」、「JFreeReport」、「BIRT」、 「Openreports」、「DataVision」、「Fourfive」和「Jmagallanes」這幾款,下面我們一一述說他們的境況。 JasperReports JasperReports是程序員最受歡迎、最常用的開源報表工具,常和ireport一起搭配使用。JasperReports可以在Java環境下製作報表,支持PDF、HTML、XLS、CSV和XML文件輸出格式。 百度搜索「JasperReports」,結果有988000條,但內容多是2012年以前的,排名第一位的官網,更新時間竟然是2008年,可以看出jasperreports的關注度、搜索量已經不比往年。 Ireport Ireport和jasperreports是天生一對,是轉為後者開發的純java的視覺化報表設計器。Ireport允許用戶視覺化編輯包含charts、圖片、子報表等的複雜報表。iReport 還集成了JFreeChart圖表製作包。允許用戶視覺化地編輯XML JasperDesign文件。 百度搜索ireport,返回2240000條結果,內容同樣沒有多少更新,毋庸置疑,ireport也喪失掉了人們的寵愛。 JFreeReport JFreeReport是一個用來生成報表的Java類庫,現在改名為Pentaho Reporting。作為開源報表工具的它為Java應用程序提供一個靈活的列印功能並支持輸出到印表機和PDF, Excel, HTML和XHTML, PlainText, XML和CSV文件中。 百度搜索JfreeReport返回了19100條結果,搜索Pentaho Reporting返回了35600條結果,相比ireport更加寒磣,而且可悲的是,筆者試圖找到最新的源碼包和使用教程,竟然沒有找到,資源還都是2009年以前的。 BIRT BIRT是一個Eclipse-based開源報表系統。它主要是用在基於Java與J2EE的Web應用程序上。BIRT主要由兩部分組成:一個是基於Eclipse的報表設計和一個可以加到你應用服務的運行期組件。BIRT同時也提供一個圖形報表製作引擎。 BIRT報表由數據連接、數據轉換、業務邏輯設計、表現四個組成邏輯構成,可以設計製作簡單的列表報表、交叉報表和文本報表,也支持餅圖、折線圖、柱形圖等基礎圖表製作。 BIRT報表的搜索結果還是很多的,達到了163萬,這得益於與Eclipse強大的支持。但是網路輿論是怎麼樣的呢?大家是熱捧還是棒殺?經過一番資料收集加上個人經驗,BIRT的優劣大概有這麼幾點。優點是免費,操作界面清晰直觀,布局比較科學,圖表還是比較漂亮的,而且本地化做的還好,安裝之後操作界面是中文的(最新版是4.4.1,可以下載測試下),這些優點在開源報表工具中也算是比較突出的。同樣,缺點也很明顯,條帶狀的報表模型,很多中國式複雜報表做不了,沒有填報,若項目中遇到填報需要花費大量時間開發,最麻煩的就是問題找不到技術支持,學習資料也是很少。下圖是一個網友對Birt報表的心聲和態度。 Openreports OpenReports提供基於web的開源報表解決方案,通過瀏覽器自動生成動態PDF,XLS,HTMLCSV和Chart報表。利用到的開源技術有Hibernate,Veloctiy,Webwork。 百度搜索Openreports返回了78400條數據,打開其官網,發現真是簡陋至極, 不愧是開源報表工具!請問幫助文檔在哪?請問可以交流的人在哪?請問可以在那裡交流問題。 DataVision DataVison 是一個類似於 Crystal Reports 的開源報表工具。通過它可以使用一個拖放的 GUI 設計報告並從應用程序中運行、查看和列印報告,或者將報告導出為 HTML、XML、PDF、LaTeX2e、DocBook 或以製表符或逗號分隔的文本文件,這些文件又可以用於生成 PDF、文本、HTML、PostScript 格式的報告。 DataVison的熱度似乎要好一些,百度搜索結果達到70多萬,但版本一直停留在2008年的V1.2.0,這就是一個致命缺陷了。翻遍各大IT論壇和問答網,也不見DataVison的討論,可以判斷,DataVison就是昨日輝煌。 Fourfive、Jmagallanes等 之所以把他們放在一起,是因為這些開源報表工具實在是人氣太低了,沒有必要去單獨介紹分析。筆者只能說,fourfive和jmagallanes已經over了。 經過上面的分析,可以看出開源報表工具風光大不如以前,日薄西山了,形成前後如此巨大差異的原因是是什麼? 數年前,人力成本低,所開發的系統難度也不高,相對於昂貴的商業報表工具,開源的報表工具成了最好的選擇,雖然開源報表工具都很難,但投入人力研究是可行的。而現在,一方面人力成本成了項目的主要成本,另一方面系統難度逐漸升級,要求的穩定性、功能、美觀度和交互效果已遠非開源工具能解決的,對整個項目而言,商業報表工具帶來的效益以遠高於投入。簡單總結一下,開源報表工具的致命缺點有: 1、報表功能整體比較弱,若是項目需求有變更,項目開發者將陷於進退兩難境地,此外開源報表功能薄弱,所實現的效果、展現的功能較收費軟體差距較大。 2、技術服務沒有保障,若是項目中遇到難題或出現bug,開發者只能嘆息了,總之項目風險很大。 3、對人員能力要求高,一般是程序員才能勝任使用開源報表,但須知這類人員的人力成本。 4、學習成本高,全英文的幫助文檔、產品說明書和產品使用界面,讓多少英雄淚流滿面。當然也有學習資料好的,但那收費! 那麼,社會潮流已經拋棄開源報表軟體,需要什麼樣的商業報表軟體呢? 對應開源報表軟體的4大致命缺點,需要的商業報表需要滿足如下條件: 1、功能強大,可以解決中式複雜報表,支持多數據源報表、html5圖表、移動端、填報功能。 2、強大的技術支持團隊,覆蓋到全國的服務體系,多種多樣的服務渠道和服務響應策略。 3、報表產品易學易用易集成,0編碼即可製作報表,最好支持業務人員自己DIY報表並分析。 4、事實證明類excel設計模式是最適合中國的報表設計模式,需要類excel的設計界面,多種多樣的學習資料,如幫助文檔、視頻教程、線下線上培訓課程。 […]
1. 問題描述 在Web報表軟體FineReport中,有時預覽一個報表模板或是做一個報表模板時,是否有時會出現報死循環類似的錯誤,那是什麼原因出現這樣的情況的呢?這個往往是由於設置的某個報表單元格的父格不當導致的
在FineReport報表工具中,當報表和圖表都並存於同一張模板的時候,如果圖表是作為單元格元素插入,就需要注意圖表的擴展問題。 如下圖的報表模板,圖表作為單元格元素插入D1單元格
如果數據源中的數值定義為字元串類型,則在FineReport報表工具中,會按照字元串排序的規則對數值進行排序,而這我們預期的效果是按照數值大小進行排序。下面介紹在Java報表工具FineReport中實現字元串類型的數據按照數值大小進行排序的小方法
在中國式web報表中,通常需要用到大寫的貨幣樣式,手動將數字改成大寫貨幣樣式自然不錯,但是FineReport報表工具提供了簡便方法,可以直接通過函數將數字轉換成大寫貨幣樣式,既簡單方便,又不會出錯。 FineReport報表工具提供了函數CNMONEY(),用以返回人民幣大寫
現在的報表工具基本上都是基於java平台,報表的展現和編輯基於瀏覽器,自然需要基於瀏覽器的列印方式。但是由於瀏覽器的直接列印不能夠精確分頁,不支持連打,因此目前的Java報表工具多採用插件式的列印方式,如APPLET,PDF等,但這兩種java報表列印方式均需安裝較大的插件,實用性差。 基於以下幾個原因,瀏覽器的直接列印並不能作為報表列印的解決方案: (1)不能精確分頁 瀏覽器一般是根據用戶設置的頁面大小,web頁面的內容多少,來自行決定分頁位置,程序員很難控制。但是報表的展現和列印往往是按照規則的大小進行分頁的。所以不能精確分頁的列印控制難度較大。 (2)會有頁腳頁眉干擾 (3)不能準確對齊邊邊距及列印文字 (4)不能支持連續列印 在報表的列印中,特別是票據的套打中,連打是非常普通的一個需求,即每次不是僅列印一張票據,而是連續一次列印若干個票據。 由於以上的問題,不能夠利用瀏覽器的直接列印功能。目前一般的報表工具採用的列印方式多為PDF列印,APPLET列印或者ActiveX列印,但是三者有一個共同的問題就是:都需要下載安裝較大的插件,並且ActiveX的方式僅支持IE瀏覽器,而IE在越來越重視安全性的前提下,在較新的版本中都禁止了ActiveX,就給使用這種列印方式的報表造成很大困擾。 Java報表工具FineReport支持APPLET列印,PDF列印,FLASH列印三種報表列印方式,適應多種不同的列印需求。其中,FineReport獨創的FLASH報表列印技術,就是針對上述的問題和困難,第一次完美解決了困擾java報表行業十幾年的基於瀏覽器的列印問題。Flash的分頁或精確列印,都可以做到完美,並且幾乎95%的瀏覽器都預裝了Flash Player,列印之前不再需要安裝Flash Player,即使需要安裝也只有幾百K的大小,非常的方便。 由於市場的需要,其它報表軟體也相應出現了Flash列印的功能,但由於技術的問題,只有一兩家最後成功了,具體如下表所示: Flash列印 2008年 FineReport獨創 2009年—2010年 FineReport繼續深化並將其應用面擴大 2011年 FineReport Flash列印完全成熟,國內另有一兩家初步實現 FineReport報表工具首創的Flash列印在多年的經驗積累下已經日趨完善,Flash列印更是可以做到列印報表無限制,不管什麼報表,只要設計出來後,都可以使用FineReport的Flash列印實現精確列印。
一、Web報表列印方式靈活性 1.功能描述 現在的Web報表列印主要有Flash、PDF、Applet、activex等幾種方式。不同的Web報表列印方式需要安裝不同的程序,各自的安裝繁瑣程度不同。由於目前幾乎所有的網頁都安裝了flash插件,所以幾種Web報表列印方式中,flash報表列印是最優最便捷的一種列印方式。 支持程度: FineReport報表支持Flash、PDF、Applet、activex等多種Web報表列印方式,幾乎不需要安裝任何插件; 潤乾報表只支持Applet、activex兩種報表列印方式,需要安裝插件。
通過TableData介面可以讀取任何形式的數據源,FineReport報表工具的數據來源可以是資料庫數據或是文本數據,並且還可以是其它任何類型的數據,因為這些所有的數據來源都實現了TableData介面,所以用戶只要實現了TableData介面,也就可以用自定義類型的數據源了。對於傳參,我們可以在程序數據集中寫入傳入的參數,此方案傳入的參數為 tableName 和 columnNames 兩項;即傳入資料庫表名以及所需要的列名取出所需要的值;這裡連的資料庫為動態報表與BI 商業智慧工具的內置資料庫,適用時可輸入表名:stscore 列名 name;sex。具體步驟如下:
解決問題:列印票據類文件的方向橫向縱向設置問題 解決方案:在印表機設置中添加相應的紙張類型 解決步棸: 一、在以往的Windows 98操作系統中,印表機屬性里的「紙張大小」中有「自定義」一項。而Windows 2000和Windows XP中自定義的位置是不同於Windows 98的。
1:在windows下找到系統使用到的字體,這裡以楷體舉例 •到c盤的windows文件夾的Fonts文件夾裡面存放了windows中用到的所有字體,具體路徑C:WINDOWSFonts •找到楷體字體SIMKAI.TTF