JasperReport学习笔记2-创建简单的报表例子

一,创建简单的jrxml文件

Xml代码 收藏代码
  1. <?xmlversion="1.0"?>

  2. <!DOCTYPE jasperReport

  3. PUBLIC "-//JasperReports//DTD Report Design//EN"

  4. "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">

  5. <jasperReportname="FirstReport">

  6. <detail>

  7. <bandheight="20">

  8. <staticText>

  9. <reportElementx="20"y="0"width="200"height="20"/>

  10. <text><![CDATA[If you don't see this, it didn't work]]></text>

  11. </staticText>

  12. </band>

  13. </detail>

  14. </jasperReport>


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

二,把JRXML文件解析成jasper文件,文件流或JasperReport对象(根据实际情况)

1.建立一个WEB工程,再在WEBROOT目录下建立一个目录report
2.使用JasperCompileManager里面的方法解析JRXML文件成jasper文件,文件流或JasperReport对象

把JRXML文件parse,再complie成jasper文件
Java代码 收藏代码
  1. JasperCompileManager.compileReportToFile("WebRoot/report/jasperreports_demo.jrxml", "WebRoot/report/langhua.jasper");



或者生成JasperReport对象
Java代码 收藏代码
  1. publicstatic JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml")



或者以流的方法生成
Java代码 收藏代码
  1. publicstaticvoid compileReportToStream(InputStream inputStream,OutputStream outputStream)



当然JasperCompileManager也可以把Jasper文件变成JRXML的(包括JRXML流,都是静太的方法)
Java代码 收藏代码
  1. writeReportToXmlStream

  2. writeReportToXmlFile



三,有了JasperReport对象,文件流或jasper文件之后,就可以用JasperFillManager生成JasperPrint对象,jrprint文件,jrprint文件流
如下
生成JasperPrint 对象
Java代码 收藏代码
  1. publicstatic JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)



生成其它
Java代码 收藏代码
  1. //生成文件

  2. publicstaticvoid fillReportToFile(

  3. String sourceFileName,

  4. String destFileName,

  5. Map parameters,

  6. Connection connection

  7. )

  8. //文件流

  9. publicstaticvoid fillReportToStream(

  10. JasperReport jasperReport,

  11. OutputStream outputStream,

  12. Map parameters,

  13. Connection connection

  14. )



第四步,使用JasperExportManager导出或显示
Java代码 收藏代码
  1. JasperExportManager.exportReportToHtmlFile(jasperPrint, "c://1.html");

  2. JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");

  3. //还有很多方法的



完整的例子
Java代码 收藏代码
  1. JasperReport jasperReport;

  2. JasperPrint jasperPrint;

  3. try{

  4. jasperReport = JasperCompileManager.compileReport("WebRoot/report/jasperreports_demo.jrxml");

  5. jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),new JREmptyDataSource());

  6. JasperExportManager.exportReportToPdfFile(jasperPrint, "c://1.pdf");

  7. }

  8. catch (JRException e){

  9. e.printStackTrace();

  10. }



你可能感兴趣的:(jasperReport,创建报表)