开发者社区> 落雨_> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Crystal Reports拉报表报错:Error detected by database DLL
问题描述: 最近在使用Crystal Reports打印报表时,提示错误信息:“Error detected by database DLL.” 如下图: 经查找,是因为数据库名称不同造成的; 用户的测试环境使用的库名称为ClaimsReport; 我们本地使用的库名称为Claims;   解决方案: 打开报表工具Crystal Reports 8.5,进入Database->Set Location界面,如下图:   把红框中数据库名称去掉,然后点击按钮【Done】即可。
1117 0
ActiveReports 报表应用教程 (6)---分组报表
原文:ActiveReports 报表应用教程 (6)---分组报表 在 ActiveReports 中可以设置单级分组、嵌套分组,同时,还可以使用表格、列表以及矩阵等数据区域控件对数据源进行分组操作。
674 0
ActiveReports 报表应用教程 (1)---Hello ActiveReports
原文:ActiveReports 报表应用教程 (1)---Hello ActiveReports      在开始专题内容之前,我们还是了解一下 ActiveReports 是一款什么产品:ActiveReports是一款在全球范围内应用非常广泛的报表控件,以提供.NET报表所需的全部报表设计功能领先于同类报表控件,包括对交互式报表的强大支持、丰富的数据可视化形式、与Visual Studio的完美集成、以及对WPF / WinForm / ASP.NET / Silverlight和Windows Azure的多平台支持等。
1216 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18999 0
ASP.NET MVC 5使用CrystalReport(水晶报表)
原文:ASP.NET MVC 5使用CrystalReport(水晶报表)   http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_15.
1173 0
ActiveReports 报表应用教程 (7)---交叉报表及数据透视图实现方案
原文:ActiveReports 报表应用教程 (7)---交叉报表及数据透视图实现方案 在 ActiveReports 中可以通过矩阵控件非常方便的实现交叉报表,同时还可以设置数据的分组、排序、过滤、小计、合计等操作,可以满足您报表的智能数据分析等需求。
704 0
bboss session共享时序列化存储jasperreports报表对象JasperPrint方法
bboss session共享时序列化存储jasperreports报表对象JasperPrint方法bboss session共享组件使用方法介绍 由于JasperPrint对象有点特殊,序列化存储到session时,必须采用java自带的序列化机来序列化和还原JasperPrint对象,否则bboss序列化机制无法实现对原始JasperPrint对象的序列化。
818 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
25240 0
ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布
原文:ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布 本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件、绑定数据源以及如何发布报表等内容。
1054 0
+关注
落雨_
http://js-dev.cn
813
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载