我們?cè)谇懊娴恼鹿?jié)中產(chǎn)生的JasperReport模板(JRXML文件)。這個(gè)文件不能直接用于生成報(bào)告。它必須被編譯成JasperReport的“本地二進(jìn)制"格式,稱為Jasperfile。在編制我們把JasperDesign對(duì)象轉(zhuǎn)換成JasperReport的對(duì)象:
接口net.sf.jasperreports.engine.design.JRCompiler編譯過(guò)程中起著核心的一部分。這個(gè)接口有根據(jù)用于報(bào)表表達(dá)式語(yǔ)言,它可以只要編譯器可以實(shí)現(xiàn)在運(yùn)行時(shí)計(jì)算它被用Java編寫(xiě)的,Groovy,JavaScript的或任何其他腳本語(yǔ)言的幾個(gè)實(shí)現(xiàn)。我們可以通過(guò)以下兩種方式編譯JRXML文件:
提供編程編譯。
編譯通過(guò)ANT任務(wù)。
JasperReports的API提供了一個(gè)門(mén)面類net.sf.jasperreports.engine.JasperCompileManager用于編譯JasperReport。這個(gè)類包含幾個(gè)公共靜態(tài)方法編制的報(bào)告模板。模板的源可以從文件,輸入流,內(nèi)存中的對(duì)象。
該jrxml文件(jasper_report_template.jrxml)的內(nèi)容如下。它被保存在目錄 C: oolsjasperreports-5.0.1 est:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="jasper_report_template" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> <queryString> <![CDATA[]]> </queryString> <field name="country" class="java.lang.String"> <fieldDescription><![CDATA[country]]></fieldDescription> </field> <field name="name" class="java.lang.String"> <fieldDescription><![CDATA[name]]></fieldDescription> </field> <columnHeader> <band height="23"> <staticText> <reportElement mode="Opaque" x="0" y="3" width="535" height="15" backcolor="#70A9A9" /> <box> <bottomPen lineWidth="1.0" lineColor="#CCCCCC" /> </box> <textElement /> <text><![CDATA[]]> </text> </staticText> <staticText> <reportElement x="414" y="3" width="121" height="15" /> <textElement textAlignment="Center" verticalAlignment="Middle"> <font isBold="true" /> </textElement> <text><![CDATA[Country]]></text> </staticText> <staticText> <reportElement x="0" y="3" width="136" height="15" /> <textElement textAlignment="Center" verticalAlignment="Middle"> <font isBold="true" /> </textElement> <text><![CDATA[Name]]></text> </staticText> </band> </columnHeader> <detail> <band height="16"> <staticText> <reportElement mode="Opaque" x="0" y="0" width="535" height="14" backcolor="#E5ECF9" /> <box> <bottomPen lineWidth="0.25" lineColor="#CCCCCC" /> </box> <textElement /> <text><![CDATA[]]> </text> </staticText> <textField> <reportElement x="414" y="0" width="121" height="15" /> <textElement textAlignment="Center" verticalAlignment="Middle"> <font size="9" /> </textElement>上一篇:JasperReport環(huán)境設(shè)置下一篇:JasperReports報(bào)表區(qū)段