转自:http://www.blogjava.net/vjame/archive/2013/10/12/404908.html

一、创建简单的jrxml文件

这里可以手动创建jrxml文件,也可以使用ireport设计器创建

<?xml version="1.0"?>
 22.JasperReports学习笔记2-创建简单的报表例子-LMLPHP<!DOCTYPE jasperReport
 32.JasperReports学习笔记2-创建简单的报表例子-LMLPHPPUBLIC "-//JasperReports//DTD Report Design//EN"
 42.JasperReports学习笔记2-创建简单的报表例子-LMLPHP"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
 52.JasperReports学习笔记2-创建简单的报表例子-LMLPHP<jasperReport name="FirstReport">
 62.JasperReports学习笔记2-创建简单的报表例子-LMLPHP    <detail>
 72.JasperReports学习笔记2-创建简单的报表例子-LMLPHP        <band height="20">
 82.JasperReports学习笔记2-创建简单的报表例子-LMLPHP            <staticText>
 92.JasperReports学习笔记2-创建简单的报表例子-LMLPHP                <reportElement x="20" y="0" width="200" height="20" />
102.JasperReports学习笔记2-创建简单的报表例子-LMLPHP                <text><![CDATA[If you see this, it work]]></text>
112.JasperReports学习笔记2-创建简单的报表例子-LMLPHP            </staticText>
122.JasperReports学习笔记2-创建简单的报表例子-LMLPHP        </band>
132.JasperReports学习笔记2-创建简单的报表例子-LMLPHP    </detail>
142.JasperReports学习笔记2-创建简单的报表例子-LMLPHP</jasperReport>

以上是一个简单的JRXML文件,实际上就是一个标准的XML文件,<jasperReport>是根元素,<staticText>表示静态的数据,<reportElement>定义了<staticText>的位置和宽度,<text>定义了实际的静态数据。

二、把JRXML文件解析成jasper文件,文件流或JasperReport对象

编译jrxml生成jasper文件

"WebRoot/report/lanjh.jasper");
"WebRoot/report/lanjh.jasper");

生成文件流
public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)

生成报表对象
public static JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml")

三、有了JasperReport对象,文件流或jasper文件之后,就可以用JasperFillManager生成JasperPrint对象,jrprint文件,jrprint文件流

生成JasperPrint 对象
public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)

四、使用JasperExportManager导出或显示
JasperExportManager.exportReportToHtmlFile(jasperPrint, "c://1.html");
JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");

完整的例子

 JasperReport jasperReport;
 22.JasperReports学习笔记2-创建简单的报表例子-LMLPHP        JasperPrint jasperPrint;
 32.JasperReports学习笔记2-创建简单的报表例子-LMLPHP        try{
 42.JasperReports学习笔记2-创建简单的报表例子-LMLPHP          jasperReport = JasperCompileManager.compileReport("WebRoot/report/jasperreports_demo.jrxml");
 52.JasperReports学习笔记2-创建简单的报表例子-LMLPHP          jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),new  JREmptyDataSource());
 62.JasperReports学习笔记2-创建简单的报表例子-LMLPHP          JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");
 72.JasperReports学习笔记2-创建简单的报表例子-LMLPHP   }
 82.JasperReports学习笔记2-创建简单的报表例子-LMLPHP        catch (JRException e){
 92.JasperReports学习笔记2-创建简单的报表例子-LMLPHP          e.printStackTrace();
102.JasperReports学习笔记2-创建简单的报表例子-LMLPHP        }       
05-28 17:15