关闭

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

598人阅读 评论(0) 收藏 举报

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

 

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2335430次
    • 积分:31311
    • 等级:
    • 排名:第157名
    • 原创:962篇
    • 转载:826篇
    • 译文:6篇
    • 评论:39条
    文章分类
    最新评论
    我的栏目
    我的栏目测试