JasperReports學(xué)習(xí)筆記2-創(chuàng)建簡(jiǎn)單的報(bào)表例子
一、創(chuàng)建簡(jiǎn)單的jrxml文件
這里可以手動(dòng)創(chuàng)建jrxml文件,也可以使用ireport設(shè)計(jì)器創(chuàng)建
1
<?xml version="1.0"?>
2
<!DOCTYPE jasperReport
3
PUBLIC "-//JasperReports//DTD Report Design//EN"
4
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
5
<jasperReport name="FirstReport">
6
<detail>
7
<band height="20">
8
<staticText>
9
<reportElement x="20" y="0" width="200" height="20" />
10
<text><![CDATA[If you see this, it work]]></text>
11
</staticText>
12
</band>
13
</detail>
14
</jasperReport>

2

3

4

5

6

7

8

9

10

11

12

13

14

以上是一個(gè)簡(jiǎn)單的JRXML文件,實(shí)際上就是一個(gè)標(biāo)準(zhǔn)的XML文件,<jasperReport>是根元素,<staticText>表示靜態(tài)的數(shù)據(jù),<reportElement>定義了<staticText>的位置和寬度,<text>定義了實(shí)際的靜態(tài)數(shù)據(jù)。
二、把JRXML文件解析成jasper文件,文件流或JasperReport對(duì)象
編譯jrxml生成jasper文件

生成文件流
public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)
生成報(bào)表對(duì)象
public static JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml")
三、有了JasperReport對(duì)象,文件流或jasper文件之后,就可以用JasperFillManager生成JasperPrint對(duì)象,jrprint文件,jrprint文件流
生成JasperPrint 對(duì)象
public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)
四、使用JasperExportManager導(dǎo)出或顯示
JasperExportManager.exportReportToHtmlFile(jasperPrint, "c://1.html");
JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");
完整的例子
1
JasperReport jasperReport;
2
JasperPrint jasperPrint;
3
try{
4
jasperReport = JasperCompileManager.compileReport("WebRoot/report/jasperreports_demo.jrxml");
5
jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),new JREmptyDataSource());
6
JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");
7
}
8
catch (JRException e){
9
e.printStackTrace();
10
}

2

3

4

5

6

7

8

9

10

posted on 2013-10-15 14:55 lanjh 閱讀(488) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): 報(bào)表