Jasperreport基本介紹
Jasperreport與Ireport介紹
Jasperreport是報(bào)表打印工具,支持pdf、csv多種格式的報(bào)表打印。
JasperReport是一個(gè)開源的工具包,將JasperReport包加入到項(xiàng)目的classpath中即可開始使用JasperReport包了,從java程序中通過調(diào)用包中的類對jrxml文件進(jìn)行操作,可以完成報(bào)表的編譯、顯示、輸出等工作;
Jasperreport的報(bào)表生成過程,如下圖。

如上圖所示。報(bào)表模板有兩種制作方式:
1)利用ireport圖形編輯工具,iReport是報(bào)表編輯圖形工具,編輯完成后輸出jrxml文件(XML格式), 生成jasper文件(以.jasper結(jié)尾);
2)直接利用java代碼編譯生成jasper文件(以.jasper結(jié)尾)。
最終要使用的是編譯后的*.jasper文件。
Jasperreport支持多種數(shù)據(jù)源,包括xml、數(shù)據(jù)庫、JavaBean等多種數(shù)據(jù)源。
Jasperreport基本類
l net.sf.jasperreports.engine.JasperCompileManager類。
使用這個(gè)類的幾個(gè)靜態(tài)方法即可完成對報(bào)表的編譯工作(具體參見api文檔)
編譯完成后可以JasperCompileManager有兩種處理方式:
1> 返回一個(gè)JasperReport對象
2> 在.jrxml文件所在的目錄生成一個(gè).jasper文件
這兩種方式是由程序員自己選擇的。不過我比較傾向使用.jasper文件,畢竟報(bào)表的結(jié)構(gòu)不是每天都在改動,所以每次重新編譯報(bào)表并不是很劃算。
l net.sf.jasperreports.engine.JasperFillManager類
這個(gè)類的作用是用數(shù)據(jù)填充報(bào)表。它可以使用JasperReport對象也可以使用。jasper文件做為報(bào)表模板。
它同樣有2中處理方式:
1> 返回一個(gè)JsaperPrint對象。
2> 在.jasper文件所在目錄生成一個(gè).jrprint文件
這個(gè)類使用net.sf.jasperreports.engine.JRDataSource接口的實(shí)現(xiàn)做為數(shù)據(jù)源。任何實(shí)現(xiàn)了JRDataSource的類均可做為數(shù)據(jù)源使用
在net.sf.jasperreports.engine.data包中定義了一些數(shù)據(jù)源,可根據(jù)自己的需要選擇。這里我使用的是JRTableModelDataSource做為
l 3. net.sf.jasperreports.engine.JasperPrintManager和
net.sf.jasperreports.engine.JasperExportManager這兩個(gè)類的作用是打印、導(dǎo)出報(bào)表他們使用 JasperPrint 和 .jrprint文件做為輸入。
Jasperreport實(shí)例演示
少說廢話,下面我們就進(jìn)行一些基本的演示。在下才疏學(xué)淺,在調(diào)查中只做了三種嘗試:1)利用ireport進(jìn)行模板設(shè)計(jì),數(shù)據(jù)源采用xml文件;
2)利用ireport設(shè)計(jì)模板,導(dǎo)入jfreechat對象;
3)使用java代碼設(shè)計(jì)模板,數(shù)據(jù)源為對象數(shù)組。
下面我們逐一進(jìn)行講解。OK,let’s go!!!!
Ireport設(shè)計(jì)模板,xml數(shù)據(jù)源
1) 安裝ireport。
直接點(diǎn)擊Windows版本ireport安裝文件,安裝文件中已經(jīng)包含了jasperreport組件,這里不做表述,有問題問百度!
2) 打開ireport
Ireport 3.7.4用戶界面如圖所示。

客官您瞧見,用戶界面上的“Quick start”沒?按照圖中表示的1、2、3去做,就基本能搞清楚ireport是什么道道!
3) 添加數(shù)據(jù)源
點(diǎn)擊標(biāo)號①,界面如下:

哇塞,這么多數(shù)據(jù)源,看來真的是很好很強(qiáng)大耶。我們選擇“xml file datasource”,點(diǎn)擊next,

按照上圖填入數(shù)據(jù)源名稱、以及數(shù)據(jù)源xml文件,注意一定要選擇“Use the report Xpath expression when filling the report”.點(diǎn)擊“save” 即可,在下圖標(biāo)記處會出現(xiàn)相應(yīng)的生成結(jié)果。

現(xiàn)在讓我們先查看一下,剛剛添加xml數(shù)據(jù)源的具體結(jié)構(gòu):

數(shù)據(jù)源準(zhǔn)備好了,可以開始模板創(chuàng)建了。
4) 創(chuàng)建模板

在上圖中點(diǎn)擊“②”,出現(xiàn)下圖。

點(diǎn)擊“Launch report wizard”,如下圖:

輸入報(bào)表名以及保存路徑,點(diǎn)擊“下一步”

在“Connections/Data sources”中選擇你需要的數(shù)據(jù)源。接下來就直接點(diǎn)擊“下一步”,直到完成。

點(diǎn)擊完成后,進(jìn)入模板元素設(shè)計(jì)頁面。

圖中,左邊標(biāo)記為頁面監(jiān)視器(report inspector),右邊為組件工具欄。若客官您在使用的過程中,不小心關(guān)閉了這些窗口,您可以在菜單欄“窗口”中找到,點(diǎn)擊之后,該窗口就會出現(xiàn)了。
5) 添加元素
在組件工具欄中選擇組件,直接拖拽到模板中。

點(diǎn)擊圖中紅色標(biāo)記,進(jìn)入如下圖:

將圖中標(biāo)記的“Customers”拖拽到下方的標(biāo)記處,此處的作用就是要將數(shù)據(jù)源中的數(shù)據(jù)字段添加要ireport中,以便下一步為剛剛建立的“Field”元素指定,查詢語句。如下圖。

點(diǎn)擊OK即可。
再右擊Field元素,點(diǎn)擊“Edit Expression”,如圖:

將Field括號內(nèi)的改成您需要的字段如“CompanyName”。點(diǎn)擊“Apply”

做到這一步,您可能覺得“應(yīng)該該做了都做完了,可以進(jìn)行預(yù)覽了!”,其實(shí)我也這么想的,也這么做的,可是,預(yù)覽報(bào)錯(cuò),經(jīng)過研究,我還是少做了一步,而這一步至關(guān)重要,就是我們沒有選擇xml文件中的數(shù)據(jù)list節(jié)點(diǎn)。

您必須要按照如上圖所做,輸入Query語句。
好了,這下我們就可以預(yù)覽了。
6) 預(yù)覽報(bào)表
點(diǎn)擊“preview”按鈕就成,讓我們看看效果吧:

呵呵,丑是丑了點(diǎn),但是這是我們頭一回用ireport,還是很有成就感的。
新聞熱點(diǎn)
疑難解答
圖片精選