JasperReport的入門步驟

來源:互聯網
上載者:User

用了幾天JasperReport,寫下一點心得.希望對於入門JasperReport的同仁們有協助.

首先,需要明白的是什麼是report.通俗一點說,就是將資料以某種格式展現出來.在這裡2有2格重要的方面,即資料和展現.

對於資料,無非就是資料庫裡的資料以及經過對這些未經處理資料處理的資料.展現就是以某種格式將這些資料表現出來.

對於一個剛開始接觸JasperReport的人來說,恐怕首先一點概念都不懂.OK,我將圍繞上面提到的2個方面展開來說.

如何製作一個JasperReport報表,這是我們最關心的.

步驟通常如下:

Step1:建立一個表現資料的template,這個就是一個模型了,只需要將資料往裡面裝即可.

      如何建立一個template?可以採用iReport來設計,他的最新版本支援當前JasperReport的最新版本1.3.3(截止撰寫本文的日期).這樣你只需要往裡面拖拖element即可,例如StaticText,TextField等.

注意,這個template檔案是以.jrxml結尾的,用記事本開啟,無非就是一個xml檔案而已.

Step2:編譯step1建立的template ,即jrxml檔案.這樣會編譯為一個jasper檔案,這是一個二進位檔案.

      問題:為什麼要編譯它?

      
其實也不是必須的,也可以在運行時來編譯.仔細一想,如果在運行時來編譯,如果有100個使用者調用相同的report,難道系統會編譯100次?這樣下來,其效率極其低下.如果將之直接編譯好,也就節省了這100次的時間了.所以還是編譯為好,從另一個角度來說,report的模板很少改變的.

  問題又來了,如何編譯呢?最簡單的方式是利用iReport來編譯,這個和IDE有點類似.當然還有其他的方法來編譯,那就是JasperReport自己提供的API來編譯,不過這個還需要寫代碼等,有點麻煩,不過等我們熟悉了JasperReport之後,再使用也未嘗不可.剛開始入門時,越簡單越好.

Step3:填充資料,拿行話說就是fill report.

     本來這步可能在step2也可能涉及到.但為了系統講解,還是移到這裡.JasperReport填充資料有多種方法,不過最常用的就2種:一是直接在jrxml檔案裡嵌入sql語句,而是建立一個自己的資料來源,記得這個資料來源從JRDataSource繼承而來.JRDataSource有個方法一定要實現,即next以及getFieldValue,具體參見其API

Step 4,將資料表現出來

  
JasperReport很明顯可以將資料存放區為PDF,xls,html等.

   可能我們最常見的是將資料在瀏覽器直接顯示,那麼如何做到呢?很簡單, JRHtmlExporter就可以完成.設定以下參數,然後匯出即可.匯出的可是html資料喲.只需要將這些html資料在頁面上顯示就沒有問題了.具體參看JRHtmlExporter的api文檔.

  也許你還想將report匯出到pdf,xls,doc文檔,非常簡單,利用jasperReport提供的serverlet類即可. net.sf.jasperreports.j2ee.servlets.PdfServlet用於PDF, net.sf.jasperreports.j2ee.servlets.XlsServlet用於xls, net.sf.jasperreports.j2ee.servlets.RtfServlet用於rtf.

如果對於JasperReport內建的不滿意,那就自己寫吧.

以上就是一些基本步驟.後面將寫一篇文章介紹template的結構以及組成.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.