JasperReport入门二 简单例程

来源:互联网 发布:js控制li隐藏与显示 编辑:程序博客网 时间:2024/05/16 16:51

一、简单例程

JasperReports 是现在用的比较广泛的一个报表引擎,它的模版是一个以".jrxml"为后缀的XML文件。一个典型的jrxml文件包含的元素有:

  • <jasperReport> -根元素。
  • <title> -标题,只在报表的开头打印一次。
  • <pageHeader> -页眉。
  • <detail> -报表的详细内容。
  • <pageFooter> -页脚
  • <band> - 定义报表的一部分,以上所有的标签里面都包含了这个标签作为其唯一的元素。
除了<jasperReport>元素之外,其他元素都是可选的,下面介绍一个简单的jrxml文件:

<?xml version="1.0"?><!DOCTYPE jasperReport  PUBLIC "-//JasperReports//DTD Report Design//EN"  "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"><jasperReport name="Simple_Report"> <detail>    <band height="20">      <staticText>        <reportElement x="180" y="0" width="200" height="20"/>        <text><![CDATA[Hello World!]]></text>      </staticText>    </band>  </detail></jasperReport>
jrxml文件必须经过“编译”成二进制格式的文件才能被JasperReports使用,我们可以调用net.sf.jasperreports.engine.JasperCompileManager里面的compileReport()方法去“编译”jrxml文件。 这里有很多个compileReport()的重载方法。但是这里我们只用有一个“String”参数的方法。如下所示:

public class JasperReportsIntro{  public static void main(String[] args)  {    JasperReport jasperReport;    JasperPrint jasperPrint;    try    {      jasperReport = JasperCompileManager.compileReport(          "reports/jasperreports_demo.jrxml");      jasperPrint = JasperFillManager.fillReport(          jasperReport, new HashMap(), new JREmptyDataSource());      JasperExportManager.exportReportToPdfFile(          jasperPrint, "reports/simple_report.pdf");    }    catch (JRException e)    {      e.printStackTrace();    }  }}

一个jrxm文件只需要编译一次,但是在这个简单的例子里面程序每执行一次jrxml文件就会编译一次。 在报表生成之前,我们需要调用net.sf.jasperreports.engine.JasperFillManager类中的fillReport()方法去"填"数据。同样,这里也有很多个 fillReport()重载方法,这里需要调用的是拥有三个参数的 fillReport()方法。 三个参数分别是:net.sf.jasperreports.engine.JasperReport实例对象; java.util.HashMap 对象,可以包含任何数据; net.sf.jasperreports.engine.JRDataSource对象.例程中 如下所示:

jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(), new JREmptyDataSource());
因为这个报表没有任何数据,所以这里只传了一个空的HashMap作为第二个参数和一个net.sf.jasperreports.engine.JREmptyDataSource对象作为第三个参数。最后这里报表导出为PDF文件。 如下:
JasperExportManager.exportReportToPdfFile(jasperPrint, "reports/simple_report.pdf");

以上例子所需jar包如下:


JasperReport lib下载

二、文件解析

JasperReport开发过程中会接触到三种文件类型,它们分别是“.jrxml”、“.jasper”和“.jrprint”;

1.“.jrxml”文件是设计报表模版时的文件,我们在开始阶段设计好需要的报表模版;

2.“.jasper”文件是程序编译jrxml后的二进制文件,程序在运行时把数据写入到这种文件里面;

3.".jrprint“文件是输出时候程序调用的文件,无论输出什么格式的报表,都是通过把jasper文件转换为jrprint文件,然后输入为我们需要的格式的报表文件。

原创粉丝点击