现在的位置: 首页 > 综合 > 正文

JasperReport学习笔记2-创建简单的报表例子 运行jasperreports中自带的demo的方法

2014年12月03日 ⁄ 综合 ⁄ 共 4788字 ⁄ 字号 评论关闭

http://www.iteye.com/topic/399750

一,创建简单的jrxml文件

Xml代码
复制代码
 收藏代码
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE jasperReport   
  3. PUBLIC "-//JasperReports//DTD Report Design//EN"   
  4. "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">  
  5. <jasperReport name="FirstReport">  
  6.     <detail>  
  7.         <band height="20">  
  8.             <staticText>  
  9.                 <reportElement x="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. public static JasperReport compileReport("WebRoot/report/jasperreports_demo.jrxml")   

或者以流的方法生成

Java代码
复制代码
 收藏代码
  1. public static void compileReportToStream(InputStream inputStream,OutputStream outputStream)  

当然JasperCompileManager也可以把Jasper文件变成JRXML的(包括JRXML流,都是静太的方法)

Java代码
复制代码
 收藏代码
  1. writeReportToXmlStream   
  2. writeReportToXmlFile  

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

如下
生成JasperPrint 对象

Java代码
复制代码
 收藏代码
  1. public static JasperPrint fillReport(JasperReport jasperReport,Map parameters, JRDataSource dataSource)  

生成其它

Java代码
复制代码
 收藏代码
  1. //生成文件   
  2. public static void fillReportToFile(   
  3.         String sourceFileName,    
  4.         String destFileName,    
  5.         Map parameters,   
  6.         Connection connection   
  7.         )    
  8. //文件流   
  9. public static void 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.     }         

 

=========http://blog.csdn.net/tianping168/article/details/3021387

 运行jasperreports中自带的demo的方法

 

 
相关介绍
JasperReports是一个开源的java报表制作引擎
http://jasperreports.sourceforge.net
iReport是JasperReports的一个GUI工具,用来生成JasperReports的jrxml文件。
http://ireport.sourceforge.net

运行环境的配置
1:JDK和ANT的安装与环境变量的配置(这里就不说了,我想大家很容易找到资料)

2:用ant编译demo中的例子
 到cmd方式下,到某一个sample的目录,比如到
 jasperreports/demo/samples/alterdesign目录下
    步骤1: cmd中键入   ant
      会提示你编译java成功,将生成 .class文件
      
    步骤2: cmd中键入   ant compile
      将编译jasper文件,生成 .jasper文件
      
    步骤3: cmd中键入   ant fill   
      填充数据,生成.jrprint文件
      
    步骤4: (部分需要此功能)再新起一个cmd,  在/demo/hsqldb目录下键入ant 或者 ant runServer
      启动数据库,这是它会停在那了,所以要给他独立一个cmd。ctrl+c会退出
      
    步骤5: cmd中键入 ant viewDesign  //查看源文件界面效果
         ant view     //查看运行效果
         
    到此应该看到效果了吧,呵呵!

 

抱歉!评论已关闭.