[声明]内容部分摘自网上,感谢网友共享
第一部分:环境配置
    一、JDK、WEB服务器及数据库的安装与配置
    
      (此处略,本文测试环境JDK1.5、Resin2.1.7、SQLServer2K)
    
    二、IReport的安装
    
      下载地址
    
      http://ireport.sourceforge.net
    
    
      目前最新版本1.3.3
    
      包中已经包含
    
      iText-1.3.1.jar
    
    和
    
      jasperreports-1.3.3.jar
    
    
      下载报表中文支持包
    
      iTextAsian.jar
    
    下载地址
    
      http://itextpdf.sourceforge.net
    
    (注:需注册)
  
将下载的IReport解压至任意目录,如 D:\iReport-1.3.3 将 iTextAsian.jar 添加至 lib 目录下
执行 iReport.bat 或者 iReport.exe 均可启动 iReport
第二部分:IReport使用简介
      JasperReports可以理解为一个编译器或者解析器。用户通过IReport或者使用文本编辑器设计报表,其编码格式要符合jasperreports.dtd的标签和属性定义的XML编码格式。使用此XML文件,用户可以定义整个报表,描述哪里放置文本框、图形、怎样存取数据,怎样计算列值,如何显示等等,JasperReports工作原理如图:
    
    
      XML源文件必须被编译后产生一个文件后缀为“.jasper”的报表文件,由JRDataSource提供数据对报表文件进行填充,现在有了数据加上jasper文件,就可以生成打印报表。即:A datasource + a jasper file = a print
  
IReport是一个制作JasperReport XML文件的可视化设计工具。以下是其使用时的简单说明:
      一、系统选项配置
    
      Options|选项
    
    ,以下为注意的配置点
    
    
       
    
    
    
       
    
    
      二、数据源设置:
    
      Data|连接/资料来源
    
    ,选择New,DataBase JDBC connection
    
    
      注:请先将JDBC包放置于目录lib下,否则不能显示您数据库的Driver;也可以在options|Classpath中进行JAR包的添加
    
      三、主要使用的工具栏简介
    
    
       
    
    
      四、Band详解
    
    
       
    
    
      五、报表参数说明
    
    
       
    
    
      系统默认变量
    
    
      $V{PAGE_NUMBER}
    
    代表当前页数(可以是页码也可以是页数,通过TextField的计算时间的不同值来设置)
    
    
      $V{PAGE_COUNT}
    
     当前页面中记录的数目
    
    
      $V{groupname_COUNT}
    
    代表当前组的记录数
    
    
      $V{COLUMN_NUMBER}
    
     列号码
    
    
      $V{COLUMN_COUNT}
    
     当前列中记录的数目(是当前页里行的序号,在新页上会重置为1)
    
    
      $V{REPORT_COUNT}
    
     当前文档中数据源记录数目
    
      六、如果以PDF输出,元素字体设置如下
    
    
       
    
    
    
    
      
        --------------------注:没有时间写,以下内容从简------------------------
      
    
  
第三部分:简单示例
      一、使用
    
      档案|报表精灵
      
    
    
       
    
    
      1. 注意选择连接/资料来源(即数据源),在SQL query中填写报表查询语句
    
      2. 依据您的查询语句选择列出来要显示的字段名
    
      3. 分组字段的选择,可以选择三个,注意如果选择分组字段,SQL语句应加上相应的order by
    
      4. 选择报表布局
    
      参考
    
      http://ireport.sourceforge.net/swf/Report_Wizard_viewlet_swf.htm
    
    
      二、报表参数设置
    
      参考
    
      http://ireport.sourceforge.net/swf/Parameters_viewlet_swf.htm
    
    
    
    
      三、子报表
    
      参考
    
      http://ireport.sourceforge.net/swf/Subreport_viewlet_swf.htm
    
    
      (注:视频中子报表参数前要加P,视频没有添加)
    
      四、分组报表
    
      参考
    
      http://ireport.sourceforge.net/swf/Groups_viewlet_swf.htm
    
  
    注:点击下载所有视频
    
    
      http://jasperforge.org/sf/docman/do/downloadDocument/projects.ireport/docman.root/doc1021
    
  
第四部分:WEB使用示例
      需要添加的包(在IReport目录lib下可以找到):
    
    
      commons-beanutils-1.7.jar
      
        commons-collections-2.1.jar
      
        commons-digester-1.7.jar
      
        commons-logging-1.0.2.jar
      
        itext-1.3.1.jar
      
        iTextAsian.jar
      
        jasperreports-1.3.3.jar
      
      
        一、胖客户端方式,代码如下
      
    
    
      String xmlFileName = System.getProperty("user.dir")+"
    
      \\test_report.jrxml
    
    ";
    
      String jasperFileName = System.getProperty("user.dir")+"
    
      \\test_report.
    
    
      jasper
    
    ";
    
      String printFileName = System.getProperty("user.dir")+"
    
      \\test_report.
    
    
      jrprint
    
    ";
    
    
      try {
    
        /* 编译报表文件.jrxml,生成文件.jasper */
    
        JasperCompileManager.compileReportToFile(xmlFileName);
    
    
        /* 设置参数*/
    
        HashMap params = new HashMap();     //建立参数表
    
        params.put("yourParamName","");        //设置参数值
    
        Connection cnn = getConnection(); //自己添加得到数据库连接的函数
    
        /*填充报表文件.jasper,生成文件.jrPrint*/
    
        JasperFillManager.fillReportToFile(jasperFileName,params,cnn); //用数据填充报表
    
       
    
        /* 预览报表文件.jrprint */
    
        File sourceFile = new File(printFileName);
    
        JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); //生成报表结果
    
        JasperViewer.viewReport(jasperPrint);      //预览报表 
    
    
        freeConnection(cnn); //自己添加释放数据库连接的函数
    
       
    
      } catch (JRException e){
    
        e.printStackTrace();
    
      }
  
    
        二、JSP访问方式
    
    
    
       boolean isOK = true; //判断是否成功
    
       try {
    
         //第一步:装载jasper文件
    
         File jasperFileName = new File(request.getRealPath("/Reports/test_report.jasper"));
    
         //第二步:设置参数值
    
         HashMap params = new HashMap();
    
         params.put("yourParamName","");        //设置参数值
    
         //第三步:利用JasperRunManager生成PDF文件
    
         ConnectionPool connMgr = ConnectionPool.getInstance();
    
         Connection conn = connMgr.getConnection();
    
         JasperRunManager.runReportToPdfFile(jasperFileName.getPath(),parameters,conn);
    
       }catch(Exception ex){
    
          isOK = false;
    
       }
    
       //以下只需要访问/Reports/test_report.pdf页面即可
  


 
					 
					