iReport+jasperReports制作WEB报表

简介: [声明]内容部分摘自网上,感谢网友共享 第一部分:环境配置 一、JDK、WEB服务器及数据库的安装与配置  (此处略,本文测试环境JDK1.5、Resin2.1.7、SQLServer2K)二、IReport的安装  下载地址http://ireport.

[声明]内容部分摘自网上,感谢网友共享

第一部分:环境配置

一、JDK、WEB服务器及数据库的安装与配置
  (此处略,本文测试环境JDK1.5、Resin2.1.7、SQLServer2K)
二、IReport的安装
  下载地址http://ireport.sourceforge.net
  目前最新版本1.3.3
  包中已经包含iText-1.3.1.jarjasperreports-1.3.3.jar
  下载报表中文支持包iTextAsian.jar下载地址http://itextpdf.sourceforge.net(注:需注册)

  将下载的IReport解压至任意目录,如D:\iReport-1.3.3iTextAsian.jar添加至lib目录下

  执行iReport.bat或者iReport.exe均可启动iReport

第二部分:IReport使用简介

  JasperReports可以理解为一个编译器或者解析器。用户通过IReport或者使用文本编辑器设计报表,其编码格式要符合jasperreports.dtd的标签和属性定义的XML编码格式。使用此XML文件,用户可以定义整个报表,描述哪里放置文本框、图形、怎样存取数据,怎样计算列值,如何显示等等,JasperReports工作原理如图:
  img_002b5c18d00d98ed4ab3c5a83c7ab2f0.jpg
  XML源文件必须被编译后产生一个文件后缀为“.jasper”的报表文件,由JRDataSource提供数据对报表文件进行填充,现在有了数据加上jasper文件,就可以生成打印报表。即:A datasource + a jasper file = a print

  IReport是一个制作JasperReport XML文件的可视化设计工具。以下是其使用时的简单说明:

  一、系统选项配置Options|选项,以下为注意的配置点
  img_002b5c18d00d98ed4ab3c5a83c7ab2f0.jpg
  img_002b5c18d00d98ed4ab3c5a83c7ab2f0.jpg
  二、数据源设置:Data|连接/资料来源,选择New,DataBase JDBC connection
  img_002b5c18d00d98ed4ab3c5a83c7ab2f0.jpg
  注:请先将JDBC包放置于目录lib下,否则不能显示您数据库的Driver;也可以在options|Classpath中进行JAR包的添加
  三、主要使用的工具栏简介
  img_002b5c18d00d98ed4ab3c5a83c7ab2f0.jpg
  四、Band详解
  img_002b5c18d00d98ed4ab3c5a83c7ab2f0.jpg
  五、报表参数说明
  img_002b5c18d00d98ed4ab3c5a83c7ab2f0.jpg
  系统默认变量
  $V{PAGE_NUMBER}代表当前页数(可以是页码也可以是页数,通过TextField的计算时间的不同值来设置)
  $V{PAGE_COUNT} 当前页面中记录的数目
  $V{groupname_COUNT}代表当前组的记录数
  $V{COLUMN_NUMBER} 列号码
  $V{COLUMN_COUNT} 当前列中记录的数目(是当前页里行的序号,在新页上会重置为1)
  $V{REPORT_COUNT} 当前文档中数据源记录数目
  六、如果以PDF输出,元素字体设置如下
  img_002b5c18d00d98ed4ab3c5a83c7ab2f0.jpg

--------------------注:没有时间写,以下内容从简------------------------

第三部分:简单示例

  一、使用档案|报表精灵
  img_002b5c18d00d98ed4ab3c5a83c7ab2f0.jpg
  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")+"";
  String jasperFileName = System.getProperty("user.dir")+"";
  String printFileName = System.getProperty("user.dir")+"";
  
  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页面即可

img_ace3e75fb32ec5944ee3706856103e2f.gif

目录
相关文章
|
Web App开发 SQL 存储
吉特仓储管系统(开源WMS)--Web在线报表以及打印模板分享
  很早之前就想写这篇文章与大家分享一下自己在吉特仓储管理系统中开发打印和报表的功能,在GitHub(https://github.com/hechenqingyuan/gitwms)上公开下载的代码中很多人觉得在线设计报表这个功能比较不错,但是很多人也会有疑问。
4145 0
|
SQL BI 开发框架
RDIFramework.NET V3.3 Web版新增报表管理功能模块-重量级实用功能
在RDIFramework.NET V3.3 Web版本新增了全新的报表管理功能模块,非常实用的功能,重量级推荐。主要用于对日常常用的报表做定制展示。可以自动发布到模块(就可授权给指定资源访问),在报表定义主界面可以同时对定义好后报表预览效果,支持多种报表样式(如:折线图、柱状图、饼图、地图)等,每种报表样式都给出了参考定义的语句,支持直接在线打印。
1327 0
动态切换 web 报表中的统计图类型
统计图在浏览器端展现时,不同的使用人员对图形的展现形式会有不同的要求,有的需要柱形图、有的想看折线图等,报表支持用户在浏览器端动态的选择统计图类型,关注乾学院,查看具体实现方法<a href="http://c.raqsoft.com.cn/article/1542008169051?r=IBelieve" target="_blank" rel="nofollow">动态切换 web 报表中的统计图类型</a> 作者:gxy 链接:http://c.raqsoft.com.cn/article/1542008169051 来源:乾学院 著作权归作者所有。
971 0
|
BI
如何控制皕杰报表web端工具条的显示 2018-10-10
控制皕杰报表web端工具条有两个方案 1、全局控制 控制所有报表的工具条显示位置、是否显示和工具条按钮的是否显示。在web应用/[size=13.3333px]WEB-INF/resources/report_config.xml中控制。
1188 0
|
Web App开发 BI 数据安全/隐私保护