JasperReports是一款完全基于java編寫(xiě)的開(kāi)源報(bào)表系統(tǒng)。它能夠使用數(shù)據(jù)來(lái)自任何類型的數(shù)據(jù)源,可以生成像素級(jí)文檔,打印或?qū)С鲈诟鞣N文檔格式,包括HTML、PDF、Excel、OpenOffice和Word。需要的朋友下載試試吧!
JasperReports功能特點(diǎn)
JasperReports的報(bào)告模板可以以iReport之類的工具來(lái)制作,只要把報(bào)告儲(chǔ)存成XML格式,就可以讓JasperReport閱讀,然后再編譯成為.jasper檔。
JasperReports是世界上最流行的開(kāi)源報(bào)告引擎。它是完全用Java編寫(xiě)的,它是能夠使用的數(shù)據(jù)來(lái)自任何類型的數(shù)據(jù)源,并生成像素級(jí)的文檔,可以查看、打印或?qū)С鲈诙喾N文檔格式,包括HTML、PDF、Excel、OpenOffice和doc。
JasperReports怎么用
一,創(chuàng)建簡(jiǎn)單的jrxml文件
<?xml version="1.0"?>
<!DOCTYPE jasperReport
PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="FirstReport">
<detail>
<band height="20">
<staticText>
<reportElement x="20" y="0" width="200" height="20" />
<text><![CDATA[If you don't see this, it didn't work]]></text>
</staticText>
</band>
</detail>
</jasperReport>
以上是一個(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ì)象(根據(jù)實(shí)際情況)
1.建立一個(gè)WEB工程,再在WEBROOT目錄下建立一個(gè)目錄report
2.使用JasperCompileManager里面的方法解析JRXML文件成jasper文件,文件流或JasperReport對(duì)象
把JRXML文件parse,再complie成jasper文件
JasperCompileManager.compileReportToFile("WebRoot/report/jasperreports_demo.jrxml", "WebRoot/report/langhua.jasper");
或者生成JasperReport對(duì)象
public static JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml")
或者以流的方法生成
public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)
當(dāng)然JasperCompileManager也可以把Jasper文件變成JRXML的(包括JRXML流,都是靜太的方法)
writeReportToXmlStream
writeReportToXmlFile
三,有了JasperReport對(duì)象,文件流或jasper文件之后,就可以用JasperFillManager生成JasperPrint對(duì)象,jrprint文件,jrprint文件流
如下
生成JasperPrint 對(duì)象
public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)
生成其它
//生成文件
public static void fillReportToFile(
String sourceFileName,
String destFileName,
Map parameters,
Connection connection
)
//文件流
public static void fillReportToStream(
JasperReport jasperReport,
OutputStream outputStream,
Map parameters,
Connection connection
)
第四步,使用JasperExportManager導(dǎo)出或顯示
JasperExportManager.exportReportToHtmlFile(jasperPrint, "c://1.html");
JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");
//還有很多方法的
完整的例子
JasperReport jasperReport;
JasperPrint jasperPrint;
try{
jasperReport = JasperCompileManager.compileReport("WebRoot/report/jasperreports_demo.jrxml");
jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),new JREmptyDataSource());
JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");
}
catch (JRException e){
e.printStackTrace();
}
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版