技术开发 频道

JasperReports快速入门

3. 实战JasperReports

准备:
1. 首先在实战前,我们需要下载JasperReports。
您可以通过
http://www.jasperforge.org/index.php?option=com_content&task=section&id=16&Itemid=277下载到最新版本的JasperReports 1.3.4(下载前,您首先需要注册、登录)。

2. 解压下载的jasperreports-1.3.4-project.zip,将dist和lib目录下的所有jar文件添加到项目的CLASSPATH中。

HelloWorld
在开始我们第一个JasperReports程序之前,让我们先来了解下使用JasperReports创建报表的典型流程:
创建一个XML格式的报表模板文件(JRXML文件),这个文件的后缀是.jrxml。JRXML文件,可以手工编辑完成,也可以使用可视化的设计工具来完成,例如JasperReports的官方图形化报表设计器——iReport。
通过调用JasperReports类库中的相应方法(compileReportToFile())或者使用自定义的ant任务,把JRXML文件编译成JasperReports本地二进制模板,这个模板通常被称为Jasper文件。
通过为Jasper文件提供所需的数据,产生最终的报表。
导出生成的报表。

Ok,让我们开始HelloWorld吧!
建立一个JRXML文件,HelloReportWorld.jrxml:

<?xml version="1.0"?>
<!DOCTYPE jasperReport
PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="HelloReportWorld">
<parameter name="reportTitle" class="java.lang.String"/>
<parameter name="author" class="java.lang.String"/>
<parameter name="startDate" class="java.lang.String"/>
<title>
<band height="60">
<textField>
<reportElement x="0" y="10" width="500" height="40"/>
<textElement textAlignment="Center">
<font size="24"/>
</textElement>
<textFieldExpression class="java.lang.String">
<![CDATA[$P{reportTitle}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="40" width="500" height="20"/>
<textElement textAlignment="Center"/>
<textFieldExpression class="java.lang.String">
<![CDATA["Run by: " + $P{author}
+ " on " + $P{startDate}]]>
</textFieldExpression>
</textField>
</band>
</title>
<detail>
<band height="200">
<staticText>
<reportElement x="0" y="0" width="500" height="20"/>
<text><![CDATA[Hello Report World!]]></text>
</staticText>
</band>
</detail>
</jasperReport>

这个文件中,使用了<parameter>、<title>等模板元素,下面来具体介绍JRXML模板元素:
<jasperReport>:根元素
<import>:用于导入Java类或包
<reportFont>:用于定义显示在报表上的文本的字体
<parameter>:用于定义报表参数。参数值通过调用JasperReports API中的相关方法,利用
java.util.Map来提供。
<queryString>:用于定义从数据库中得到数据的SQL查询语句。
<field>:用于将利用数据源或者查询得到的数据映射到报表模板中。
<variable>:用于简化报表模板。将报表中多次使用的报表表达式指定给variable。
<group>:用于报表分组。
<background>:用于定义报表中的页面背景。
<title>:用于定义报表标题。只在报表的开头出现一次。
<pageHeader>:用于定义表头。在报表每个页面的开头都出现。
<columnHeader>:用于定义列头部分。
<detail>:用于定义报表的细节部分。
<columnFooter>:用于定义列尾部分。
<pageFooter>:用于定义表尾。在报表每个页面的底部都出现。
<lastPageFooter>:用于定义报表最后一个页面的表尾。
<summary>:用于报表汇总。
<band>:用于包含显示在报表中的数据。前面介绍的每个元素都包含一个<band>元素作为它的子元素。
0
相关文章