标签:
任何报告工具的主要目的是为了生产出高品质的文档。举报填充过程有助于报告工具通过操纵数据集来实现这一目标。需要报表填充过程的主要输入是:
报表模板:这是实际的JasperReport文件
报告参数:这些所传递的报表填充时间给引擎基本上都是命名的值。我们将在报表参数章节讨论。
数据源:我们可以从一系列像一个SQL查询,XML文件,CSV文件,一个HQL(Hibernate查询语言)查询,Java Beans的集合等数据源的填补Jasper这个文件将详细讨论在报表数据源的篇章。
这个过程产生的输出。jrprint是一个文档随时查看,打印或导出为其他格式。外观类net.sf.jasperreports.engine.JasperFillManager通常用于填充一个报表模板与数据。这个类有各种fillReportXXX()方法,填补报表模板(模板可以位于磁盘上,从输入流采集,或直接提供的内存)。
主要有两类在此外观类fillReportXXX()方法:
第一种类型,接收java.sql.Connection对象作为第三个参数。大多数情况下报表都充满了从关系数据库中的数据。这是通过:
通过JDBC连接到数据库。
包括报表模板中的SQL查询。
JasperReports引擎使用传入的连接并执行SQL查询。
因此,一个报表数据源产生填充的报告。
第二类,收到net.sf.jasperreports.engine.JRDataSource对象,当提供其他形式的数据来填补。
让我们来写一个报表模板。在JRXML文件(C:\tools\jasperreports-5.0.1\test\jasper_report_template.jrxml) 的内容如下:
<?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