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

原创 2012年03月28日 14:57:29

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     //查看运行效果
         
    到此应该看到效果了吧,呵呵!

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JasperReport学习笔记5-其它数据生成动态的报表(WEB)

1.空数据(Empty Datasources)  就是说JRXML文件里面的内容都是静态的,直接使用  JREmptyDataSource就行了 Java代码   J...

JasperReport学习笔记4-查询数据库生成动态的报表(WEB)

分两种方法  第一种  1.模版  Xml代码   xml version="1.0" encoding="UTF-8"?>   ...

Jasperreport+ireport学习笔记2

  • 2007-10-14 12:44
  • 364KB
  • 下载

ssh三大框架简单整合,struts2整合JasperReport报表、图表,解决HTML显示图片不出来,PDF中文不显示的问题

ssh三大框架简单整合,struts2整合JasperReport报表,解决HTML显示图片不出来,PDF中文不显示的问题

Netty学习笔记<2>--简单的NIO例子

NIO属于异步非阻塞(严格来讲它是同步非阻塞),采用I/O多路复用的技术实现的,底层是使用的epoll代替select/poll(它们之间的区别可以查看http://www.cnblogs.com/A...

Jasperreport+ireport学习笔记

  • 2012-12-14 10:39
  • 677KB
  • 下载

Jasperreport+ireport学习笔记4

  • 2007-10-14 12:45
  • 578KB
  • 下载

j2me学习笔记【13】——创建矩形框、圆角矩形以及填充颜色小例子

可以通过标记左上角和右下角的坐标来定义矩形的尺寸。在画布上可以绘制4中矩形,分别是矩形框、填充矩形、圆角矩形框、圆角填充矩形。    可以调用drawRect()方法创建矩形框,调用fillRect(...

Jasperreport+ireport学习笔记1

  • 2007-10-14 12:43
  • 842KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)