iReport 和 Jasperreport 整合開發 WEB 報表精靈(一)

來源:互聯網
上載者:User

我是在一個星期以前接觸 iReport 和 Jasperreport 的,下載最初它們並沒有吸引我的興趣(或信任),主要是他們的版本的問題(我一直不敢用版本都不到1.0的工具軟體,目前它們的版本: iReport0.2.2, Jasperreport0.5.0),不過聽說有人在用他們,於是就仔細看了一下(因為在 java 應用程式的 web 列印方面我一直都是採用瀏覽器列印,非常痛苦,所以寧可信其有不可信其無,呵呵……)

一個星期下來,我針對項目中關於報表的一些需求點進行了嘗試,發現他們都可以解決,真實大快人心,於是今天把他們推薦給各位。其實我們做報表用的只是 Jasperreport, iReport 是一個 Jasperreport 的可視化開發工具(不要看它的介面有些簡陋,我們要的操作他都可以幫我們輕鬆搞定。),當然 iReport 還有其他的用處,不過這裡不做闡述。目前幾乎還沒有中文的介紹他們整合開發的文章,儘管如此我也不準備非常詳細的介紹它們,在這裡我僅將我的一些經驗寫出來,不乏有些地方淺嘗輒止,如果想細緻的研究它們還請閱讀它們配套的英文文檔。Jasperreport 的配套文檔非常詳細,該文檔是收費的,不過網上有流傳的電子版本,本人有幸得到一份,如果你需要可以到本人網站(http://plateau.sicool.com)獲得,在此感謝 Jasperreport 的為開源世界做出的貢獻。相反 iReport 的文檔不多,也許作者認為其足夠簡單,我也是經過無數的探索才有些開發的經驗。

好了,讓我們進入上述兩者整合開發報表的曆程……

1. 首先你要得到它們最新的版本,你可以到下邊的地址下載

iRport: http://ireport.sourceforge.net
Jasperreport: http://jasperreports.sourceforge.net

他們的配置也很簡單:iReport 解壓縮以後編輯目錄下的 iReport.bat 檔案即可,如下

@echo off

set JAVA_HOME=C:/jdk14
set ANT_HOME=d:/ant
set IREPORT_HOME=C:/Documenti/progetti/iReport/iReport2/

rem %ANT_HOME%/bin/ant javadocs
%ANT_HOME%/bin/ant iReport

是不是很簡單,你只要設定相應的一些路經就可以,這裡是採用 ant 來運行,當然如果你沒有安裝 ant 也不想安裝它,那麼也可以,不過這裡我買個官子,你們自己可以到解壓縮以後的目錄中找到相應的運行方法。呵呵,安裝 ant 吧! Jasperreport 不需要任何配置,你只需將下載以後的 jar 包放到 classpath 下即可。呵呵,說來簡單,可是如果沒有 iReport 來替我們幹“髒活”,那麼做報表的工作將是怎樣的痛苦~!

2. Jasperreport是如何工作的?

這裡我就往簡單裡說了。首先要先有個 xml 檔案,然後編譯成 jasper 檔案(以 .jasper 結尾),我們真正要使用的是編譯以後的 .jasper 檔案,這很像我們熟悉的 .jsp 檔案,其實我們調用的是其編譯以後的 servlet。


(圖片來自 http://ireport.sourceforge.net/cap3.html#3.1)

不過靜態報表沒有什麼意思,所以有句話說得好:“A datasource + a jasper = a print”。它可以支援的輸出格式如下:PDF, HTML, XML, XLS, CVS 等等。因此, Jasperreport 的原始輸入就是一個 .xml 文檔,想象看一個簡單報表的 xml 檔案也有幾百行,在沒有 iReport 以前用它做報表是多麼痛苦。(令我不可思議的是,我一個同學公司曾經用 jasperreport 做報表,可是它們竟然沒有用過 iReport,天!)。現在不用怕了,用 iReport 可以輕鬆的搞定這 個XML,寫到這裡,我想起了 struts_config.xml,也曾出現不少關於它的可視化的編輯器,呵呵。

如果在 iReport 以前,如果你要做報表,你要花上很長時間來熟悉 Jasperreport 的文檔,熟悉文檔的一個用途就是編寫那個 xml 檔案,現在你只要他熟悉文檔的時間來熟悉 iReport 就可以了。

3. IReport初探

先來看一下這個(rich and very simple to user GUI)吧:

如果以前你有過用 vb 或其他的開發工具開發報表的經驗的話,這個介面乍一看應該很熟悉的,如果碰巧你又熟悉 java 語言,哇,那麼你用 iRepor t應該易如反掌啊,呵呵

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.