開源報表卻愈來愈受到程序員熱烈追捧,如ireport、 Jsper report、jfreechart這樣的免費,開源的JAVA報表工具,在一下開源的JAVA報表相關的論壇裏面都是熱火朝天,發問者衆多。發現都會有利有弊,近由於公司需求的緣由,我上網查找了好多報表工具和試用體驗,下面是我向你們推薦5個開源報表工具。java
1.iReport程序員
iReport是爲JasperReports設計的強大的,直觀的,易於使用的可視化報表設計器,用Visual J++爲Win32平臺編寫。iReport容許用戶可視化地編輯XML JasperDesign文件,能夠和其它數據庫經過JDBC通訊。在設計模板時能夠以Html、Excel、Pdf等多種方式進行預覽;用它生成的文件有.jrxml、.jasper兩種文件,其中.jrxml就是咱們設計時可視化編輯的xml文件,.jasper是通過編譯.jrxml後生成的類文件,也就是咱們最終在項目中用的報表模板文件。web
iReport 官方頁://community.jaspersoft.com/project/ireport-designersql
JasperReports是一個基於Java的開源報表工具,基於GPL開源許可協議, 徹底採用java編寫, 支持多種數據源,可打印或導出多種文件格式,支持PDF、HTML、XLS、CSV和XML文件輸出格式。JasperReports是當前Java開發者最經常使用的報表工具。數據庫
JasperReport也包含多個組件:服務器
JasperReports Library 開源報表引擎庫
JasperReports Server 是一個獨立可嵌入的報表服務器,對數據進行分析和提供定時任務服務。
Jaspersoft Studio 是基於Eclipse的報表設計器,它能建立包含圖表、圖像、子報表、交叉表等複雜的報表。數據源能夠是JavaBeans,XML,CSV Hibernate。
Jaspersoft ETL 是易於部署和執行的開源ETL系統, 建立一個綜合的數據倉庫和數據集。
JasperReport官方頁: http://community.jaspersoft.comeclipse
iReport是爲JasperReports設計的強大的,直觀的,易於使用的可視化報表設計器,採用純Java開發。這個工具容許用戶可視化編輯包含charts,圖片,子報表等的複雜報表。jsp
三、jfreechartide
JFreeChart 是一款易於擴展的純Java編寫繪圖圖庫, 使用它能夠生成線圖、柱狀圖、餅圖、曲線圖、面積圖、甘特圖、儀表盤、混合圖等多種圖表,並可將圖表輸出爲PNG、JPEG圖片。工具
穩定、輕量級,支持多種圖表類型
一個靈活的設計,很容易擴展,並應用於服務器端和客戶端的應用程序
支持多種輸出類型,包括Swing組件和JavaFX組件、圖像文件(包括PNG和JPEG)和矢量圖形文件格式(包括PDF、EPS和SVG)
JFreeChart是開源的,基於GNU通用公共許可證 (LGPL)開源許可協議
JFreeChart官方頁:http://www.jfree.org
這裏要強調的是:iReport-0.5.0中集成了jasperreports-0.6.七、jfreechart-0.9.21,因此用iRepot-0.5.0就徹底能夠開發報表了,但在iReport中進行圖形統計報表的開發沒有采用,而是直接引用其組件包進行本身手寫類來開發的(由於對圖形統計圖的開發iReport支持的並很差)
四、Pentaho
Pentaho將你全部的數據轉變成有意義的信息,爲您設計Pentaho報表,一套開源的工具,容許你建立完美的報表,支持輸出Excel、PDF、HTML、文本、富文本文件,XML和CSV,生成的報表能夠很容易地從各類來源提煉成可讀的數據。
Pentaho報表的開發是經過建立一個靈活且簡單易用的報表引擎。這是一套開源工具,包括Report Designer、Reporting Engine和Reporting SDK。
Pentaho Report官方頁: http://community.pentaho.com/projects/reporting
五、BIRT
BIRT 是基於 Eclipse 的一款開源報表,建立數據的可視化和報表,能夠嵌入到富客戶和Web應用程序。
BIRT主要由兩部分組成:一個用於建立BIRT設計的可視化報表設計器,以及能夠部署到任何java環境運行時組件。BIRT項目還包括一個圖表引擎,可集成到BIRT的一個應用程序圖表。
BIRT設計模板保存爲XML,能夠訪問多個不一樣的數據源包括JDO數據存儲,jfire腳本對象、POJOs、SQL數據庫、Web服務和XML。
BIRT官方頁:http://www.eclipse.org/birt
報表方面目前測試作些簡單的行式、分組交叉類報表還比較容易,稍微複雜點可能作起來有點麻煩(好比多數據集取數方面有點沒搞懂,還未測試),這點實際和沒有完善的學習文檔有關,不方面查找。
統計圖方面,經常使用的柱圖、餅圖、折線都提供,但其餘的種類就相對少了,另外圖形有點老,看着不夠高大上,只能說有此功能了。
補充一點,本人是做爲一個開發人員來測試birt,對eclipse熟悉,因此上手感受還能夠,但對於只是有sql基礎、簡單瞭解java或jsp開發的就來搞birt的話,仍是會有不少問題。 Ps:這個就看領導們安排什麼水平的員工來開發報表了。
以上是經常使用的 JAVA 開源報表開發軟件,之全部選擇它們是由於有專業的報表軟件、純JAVA的、有專業論壇提供你們資源分享、免費(這是最重要的)、用起來更爲靈活。綜上所述決定性因素只有:免費、靈活。
那麼報表軟件,到底免費與收費孰優孰劣?
首先,免費的java報表開發能給咱們帶來什麼?答案顯而易見:擁有了必定可用性的報表軟件;開源的代碼可以擁有靈活的可定製能力和徹底的控制;最重要的是免費。可是開源工具都有個通病,就是開發和維護成本比較大,若是你企業想上報表工具,怎麼也得招/培養二、3個開發人,並且學習資料多爲英文。並且Jsper report、ireport的全部幫助文檔是收費的,文檔卻是至關細緻,須要花大量的時間閱讀。這才明白:所謂開源不可能真的有人那麼無聊爲人民服務,說白了仍是要掙錢的,不然產品的後續研發怎麼辦?
並且Jsper report、ireport的製表能力實在通常,老外的東西,本質上就不符合咱的報表習慣,報表彷佛就該這麼作,作不出來的報表彷佛就應該寫程序、寫代碼,最後用工具的結果仍是去寫代碼,還不如不用呢。
另外,在論壇裏,像「請教高手某某問題如何解決」這類的帖子比比皆是。首先解決問題的時效性不高,須要等待不能即時被答覆,並且也不必定有人能遇到過一樣的問題,並願意熱心幫你解決,這時就會幹着急,但願有人技術支持一下。其實仔細算算,花在這些問題上的時間成本、人工成本,還不如買一個收費的工具?
選擇收費的報表軟件
首先在你有問題的時候能找專業的java報表廠商支持你,不用在論壇裏發些的不必定有準確答覆的求問貼了,更有甚者能夠叫廠商直接幫你作部分表。作事是講究效率的,與其浪費時間去自學開源工具的文檔,還不如邊學邊作不懂就直接問報表工具廠商。這樣能更順利高效的完成項目。
我之前的公司作項目時老闆就是不願花錢,覺得是省錢,結果,因爲不能及時完成折了好幾個項目。因此,再碰上選擇報表軟件的時候,必定不要怕跟老闆傾訴: 報表製做實際上是很專業的的活,花錢買一個工具比用開源工具划算。
下面的商業報表工具,其實成本算下來也無差,產品提供部署服務,能夠走項目,後期還有技術維護。
商用報表工具:
一、XJR快速開發平臺報表工具
使用多年鑽堅研微的成熟穩定的第三方插件,提供大量標準報表模板,知足各行業不一樣的須要。使用簡單,會數據庫就能夠用。不須要再出報表受權費用。還有很重要的一點就是已經集成在開發平臺內不須要再作整合。XJR快速開發平臺融合了時下最實用的web及互聯網應用技術,集成多類業務場景。面向服務/接口設計,可輕鬆集成或集成到外部系統,輕鬆整合企業現有資源。
價格平民,功能實用,符合中國國情的報表需求;
開發上手快,不須要專業人員,會數據庫就能夠用。
二、帆軟報表
功能較爲齊全,適應大多數行業的功能,
價格較貴,基礎版價格:80000元/ 服務器,高級版價格:500000/服務器
三、 水晶報表CrystalReport
SAP公司的商業報表工具,做爲SAP「集團」下的報表組件模塊。10年事前盛行一時,後被SAP收購。但水晶報表(Crystal Report)在理論上只支持單數據集,對多集的支持依賴於數據庫的運算能力(叉乘與聯合等或寫存儲過程),多庫通常難以支持。
四、 cognos IBM Cognos Business Intelligence
Cognos功能是很強大的,可是操做的複雜度比較高。若是是普通的列表,操做確實也簡單,若是是格式複雜或者是統計數據來源表比較多的時候,至少對於我這樣的新手來講,操做起來就沒那麼駕輕就熟。
五、其餘:例如Oracle的BIEE算是商用BI工具,包括在商業智能方案裏。國產的還有潤乾、斯邁特等等,很少贅述。
一句話總結:
商用>開源,開源須要很強的代能力,項目上線時間長,容易不穩定,後續維護須要不停改代碼。
國產>國外,這一點上不要「崇洋媚外」了,事實證實,國產報表更懂表格表姐的心。
無論選擇哪類工具,最重要的仍是知足業務需求,在知足的前提下尋找合適的工具。