鍍金池/ 教程/ Java/ JasperReport編譯報(bào)表設(shè)計(jì)
JasperReports報(bào)表數(shù)據(jù)源
JasperReport查看和打印報(bào)告
JasperReports報(bào)表表達(dá)式
JasperReport報(bào)表設(shè)計(jì)
JasperReports報(bào)表區(qū)段
JasperReports報(bào)表字段
JasperReports報(bào)表變量
JasperReport生命周期
JasperReport填充報(bào)表
JasperReport編譯報(bào)表設(shè)計(jì)
JasperReport報(bào)表參數(shù)
JasperReports入門(mén),JasperReports是什么?
JasperReports報(bào)表組
JasperReport導(dǎo)出報(bào)表
JasperReports教程
JasperReport環(huán)境設(shè)置

JasperReport編譯報(bào)表設(shè)計(jì)

我們?cè)谇懊娴恼鹿?jié)中產(chǎn)生的JasperReport模板(JRXML文件)。這個(gè)文件不能直接用于生成報(bào)告。它必須被編譯成JasperReport的“本地二進(jìn)制"格式,稱為Jasperfile。在編制我們把JasperDesign對(duì)象轉(zhuǎn)換成JasperReport的對(duì)象:

Jasper Report Compiling

接口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文件:

  1. 提供編程編譯。

  2. 編譯通過(guò)ANT任務(wù)。

JRXML提供編程編譯

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ū)段