JasperReport的入門步驟

2021-08-25 00:14:28 字數 1601 閱讀 4690

希望對於入門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自帶的不滿意,那就自己寫吧.

JasperReport的入門步驟

用了幾天jasperreport,寫下一點心得.希望對於入門jasperreport的同仁們有幫助.首先,需要明白的是什麼是report.通俗一點說,就是將資料以某種格式展現出來.在這裡2有2格重要的方面,即資料和展現.對於資料,無非就是資料庫裡的資料以及經過對這些原始資料處理的資料.展現就是以某種...

JasperReport 製作含有list 的報表

jrbeancollectiondatasource 傳遞本身就是乙個list 該集合內部若還有其他list 則需要呼叫 jaspersoft 的list element 模組.f需現在fieids中 註冊.return values 裡可以設定返回值 一般返回值為要計算的資料的總和 平均值等 可在...

Java列印JasperReport報表

使用資料庫作為資料來源列印報表,匯出成pdf格式。原始碼 演示報表效果用 列印報表到pdf格式 public class jasperprintdemo catch sqlexception e 列印報表 param filepath jrxml檔案路徑 param destfile 目標路徑 pd...