`

ireport工具制作jasper模板报表

    博客分类:
  • Java
 
阅读更多

ireport工具制作jasper模板报表
2010-03-18 17:02


ireport工具制作jasper模板报表
-----------------------------------------------------
**********----------------------*********************
1.下载iReport-3.0.0zip 解压后,要注意一点,把你的JDK的tools.jar拷到你解压后的iReport的lib目录下,做中文的pdf报表还需要把iTextAsian.jar拷到lib下,如果你用的是Oracle的数据库,那么你还需要把class12.jar也就是Oracle的Jdbc包拷到iReport的lib下,其他数据库也一样。
准备工作做好了,运行iReport.bat。如果能看到UI界面,说明iReport成功运行了。
**********----------------------*********************
2. 如果没有成功。按以下步骤可解决该问题:
确定系统安装有JDK,而且系统环境设置,path里有JDK的bin目录,并有java_home参数,以下是我的几个参数的配置情况可供参考:
(1) java_home   D:\JBuilder9\jdk1.4
(2) path        D:\JBuilder9\jdk1.4\bin;D:\Install\ant161\bin
(3) classpath    D:\iReport042\fonts;E:\Project\EssV6\webapps\WEB-INF\classes
(4) ant_home   D:\Install\ant161
**********----------------------*********************
3.如果绿色解压版的JDK,一定要在环境变量中设置java_home,
把你的JDK的tools.jar拷到你解压后的iReport的lib目录下。

**********----------------------*********************
4、详细资源
iReport官方提供了一些关于iReport视频,对于初学者很有帮助:
   地址:http://ireport.sourceforge.net/docs.html

JasperReport官方提供的使用指南
地址:http://jasperreports.sourceforge.net/tutorial/index.html

JasperReport提供的一些例子:
地址:http://jasperreports.sourceforge.net/samples/index.html


**********----------------------*********************
5、常见问题
(1)、iReport中提示框输入中文是不能正常显示,请将iReport下lib中的这个包删除tinylaf.jar
   2)、在iReport中运行报表时如果出现乱码问题,请检查itext-1.02b.jar和iTextAsian.jar这两个包是否加到CLASSPATH
(3)、在jsp或servlet高度报表时出现乱码或不显示,请检查你在报表设计过程中所设置的字体及其编码
比如:pdfname、pdfencoding

**********----------------------*********************

6.jasperReport是一个以java实现的报表工具,
种就是写jrxml文件,其实就是xml文件,只不过是后缀名不一样罢了。

(1)、iReport的输出格式
iReport的预览输出格式可以支持以下几种:

PDF、HTML、CSV、JAVA2D、Excel、纯文字、JRViewer,其中最常用的是PDF、JRViewer。本文以JRViewer为例子。JRViewer是直接以C/S方式作为报表的输出格式,在JFrame框架下输出。Jasperreport提供默认的JRViewer输出类。

(2)、报表的动态对象变量、参数、字段
在使用iReport的过程中会碰到很多与变量(Variables)、参数(Parameters)、字段(Fields)这些有关的内容,我们要介绍这些对象的使用和意义:

·字段(Fields):是数据库抽取出来的,希望在报表中出现的数据库内容。比如一个ID的所有值。$F{ filedsName }

·参数(Parameters):这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters)。$P{ parameterName }

·变量(Variables):这是报表中一些逻辑运算的表现,比如统计值。$V{ variablesName }

每种对象的定义格式如每个对象的后面说明,比如定义一个变量(Variables),那么表达式就写成$V{ variablesName },报表中出现的就是这个变量的名称。后文会详细的介绍使用方法。

(3)、编译、静态运行、动态运行
Jasperreport运行时需要的就是一个jasper后缀的文件,编译过程其实就是把jrxml后缀的文件生成jasper后缀的文件。(可以参考Jasperreport的运行原理)

静态运行和动态运行是相对的,后者带数据源运行,比如带数据库运行。前者就是静态文本运行,和数据源无关,如果报表中出现和数据源有关的对象,则以null显示。

(4)、报表结构
       一个报表的结构大致是几个部分:title、pageHeader、columnHeader、detial、columnFooter、pageFooter、summary、groupHeader、groupfooter。

·Title:每个报表一般会有一个名字,比如×××销售报表,title就是搁置这个名称的最好地方了,当然你也可以根据需要搁置在合适的地方。

·pageHeader:报表的一些公共要素,比如页码、创建时间、创建人等信息放置在这里是比较好的选择。

·columnHeader:无可非议的这里是放置列的名称,记住不是列数据。

·Detial:放置需要循环的数据,比如销售记录数据。

·columnFooter:放置列级别的统计计算值或是列的说明。

·pageFooter:放置页级别的统计值或是页的说明。

·Summary:可能需要对几页(你的报表可能有几个页组成)的统计值。比如50个销售记录共占用了3页,那么放置这些统计记录的统计值最好的地方就是summary。

·groupHeader:每个表的内容可能需要根据某个属性进行划分显示内容和计算内容,比如希望以月份为单位每组分开显示销售记录,那么就可以定义一个组(组的定义参考后文),groupHeader就是放置组说明或是组标志最好的地方。

·Groupfooter:放置组的统计或是说明


**********----------------------*********************
7.简单的报表详细制作过程:
(1).新建一个空报表文档, (文件 -> 新建文档 -> 填写 报表名称 -> 确定)。
(2).标题Title 和 列头 ColumnHeader 一般要用 staticText属性 , (编辑 -> 插入元素 -> 静态文本 拖入到所要安放的位置,写入文字即可)。
(3).查询数据的显示,(数据 -> 数据源链接 -> 添加 -> 数据库 JDBC连接 -> 下一步 (启动数据库) -> 输入信息 测试 -> 测试成功后保存) (数据 -> 报表查询 -> 写查询 SQL 后 确定 -> 在刷新文档结构中的字段 就会出现 SQL 的字段信息 直接拖放即可)。
(4).以上信息 操作完成 后,另存报表文档 (或 构建 -> 编译 )会生成 jrxml 文件,(接着执行 构建 -> 执行报表(使用活动连接) (在 构建 -> 选中Excel查看 ) 即可 生成 jasper文件 和 Excel文件(预览效果))。


**********----------------------*********************
8.用ireport 工具制作 jasper报表时,生成 jrxml 文件,
将jrxml 文件 进行编译 生成 jasper文件。

(1).此方法 是将 jrxml 文件 编译 生成 jasper文件。
package cn.com.common.jasper;

import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.util.JRProperties;
import net.sf.jasperreports.view.JasperViewer;

public class CompileJasperReport {
public static void main(String[] args){
   try {
//    String libsPath="WEB-INF/lib/jasperreports-1.3.3.jar";
//    JRProperties.setProperty(JRProperties.COMPILER_CLASSPATH, libsPath);
//    System.setProperty("jasper.reports.compile.class.path", libsPath);

    //编译report.jrxml并在report.jrxml所在的目录中生成report.jasper文件
             JasperCompileManager.compileReportToFile("E:\\report\\baobiao.jrxml");   //"report.jrxml"
             //填充数据,这里使用的是JREmptyDataSource
             JasperFillManager.fillReportToFile("E:\\report\\report.jasper", null, new JREmptyDataSource(50));
             //预览报表,false代表不是使用xml文件。
             JasperViewer view = new JasperViewer("E:\\report\\reports.jrprint", false);
             view.pack();
             view.setVisible(true);
          }
          catch (Exception e) {
             e.printStackTrace();
          }
    }
}

(2).   
  
  
  
  
  
     BaobiaoReport
Compile is ok  
  
  
  
  
 

**********----------------------*********************
9.Java工程中调用 jasper报表模板:
(切记工程中添加jasperreports-3.0.0.jar 包)


//使用LIST数据源填充
   String userDir=System.getProperty("user.dir");
   String userdir=userDir.replace("bin", "webapps/JavaProject/").replace("\\", "/");
           File jarfile = new File(userdir+"yxyc.jasper");
     // 加载
   JRXlsExporter exporter = new JRXlsExporter();
   try {
    JasperReport report = (JasperReport) JRLoader.loadObject(jarfile.getPath());
                        List liList = object.objectList();
    JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(liList);
                        JasperPrint print = JasperFillManager.fillReport(report, null,ds);
    response.setContentType("application/vnd.ms-excel");
                       
                        // response.setContentType("text/html");
    response.setCharacterEncoding("UTF-8");

    // 输出excel文件
    FileOutputStream output = new FileOutputStream("c:\\baobiao.xsl");

                        exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
    exporter
      .setParameter(JRExporterParameter.CHARACTER_ENCODING, "GBK");
    exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,
      "report.xls");
    exporter.setParameter(
      JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
      Boolean.TRUE);
    exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,
      Boolean.FALSE);
    exporter.setParameter(
      JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,
      Boolean.FALSE);
    exporter.setParameter(
      JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,
      Boolean.TRUE);//空白地方
    exporter.setParameter(
      JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,
      Boolean.FALSE);
    exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM,
      response.getOutputStream());
    exporter.exportReport();
                 } catch (Exception e) { }


 

分享到:
评论

相关推荐

    教你怎么利用ireport软件制作jasper报表文件,是报表模版软件

    【ireport软件制作jasper报表文件教程】 ireport是一款用于设计jasper报表的开源工具,它为Java开发者提供了直观的图形界面,使得创建复杂的报表变得简单易行。jasper报表文件通常以jrxml格式存储,它是基于XML的,...

    ireport 制作jasper报表文件

    **ireport制作jasper报表文件** 在IT行业中,报表生成是一项关键任务,它帮助企业分析数据、做出决策。IReport和JasperReports是两个强大的开源工具,用于设计和生成复杂的报表。本文将深入探讨如何使用IReport来...

    如何使用IReport3.5.1来制作报表模板

    【如何使用IReport3.5.1来制作报表模板】 IReport是一款强大的报表设计工具,尤其在配合JasperReports库时,能帮助开发者创建复杂的报表模板。以下将详细介绍如何使用IReport 3.5.1来创建报表模板。 **一、安装...

    jasper ireport 生成 报表

    IReport是JasperReports的图形化设计界面,使得非程序员也能方便地设计和编辑报表模板。在这个主题中,我们将深入探讨如何使用Jasper IReport来生成报表。 首先,Jasper IReport提供了一个直观的拖放界面,可以用来...

    ireport+jasper中文手册 pdf版

    《ireport+jasper中文手册》是一本针对Java报表开发工具ireport和jasperReports的详尽指南,旨在帮助开发者在Java环境下高效地设计和生成复杂的报表。这份PDF版的手册涵盖了这两个工具的基础知识、进阶功能以及实际...

    Jasper_+_ireport_集成报表到Web应用,操作说明

    iReport是Jasper Report的一个图形界面设计工具,主要用于设计报表布局。而Jasper Report则是一套用于在Java应用程序中生成报表的类库。 - **下载**:访问官方站点http://jasperforge.org/获取最新版本的iReport与...

    iReport+jasperReports制作WEB报表pdf

    iReport 提供了丰富的工具栏,可以帮助快速设计报表模板。主要包括: 1. **设计工具栏**: 用于插入文本框、图片、图表等元素。 2. **样式工具栏**: 设置字体、颜色、边框等样式。 3. **布局工具栏**: 调整报表布局...

    JasperReports,iReport制作报表

    iReport则是JasperReports的可视化设计工具,使得非程序员也能通过拖拽方式设计报表模板。这两个组件共同构成了一个高效且灵活的报表解决方案。 在JasperReports中,报表的制作过程分为几个关键步骤: 1. **设计...

    jasper+ireport化复杂为简单系列教程1

    **iReport** 是一个强大的报表设计工具,常被用于生成复杂的报表。本教程旨在通过一系列实例简化 iReport 的使用过程,帮助读者更好地掌握其核心功能。 ##### 1.1 设定 iReport 环境 首先,需要正确设置 iReport ...

    iReport报表工具

    1. Jasper报表:jasper文件是iReport的报表输出格式,它是预编译的报表模板,可以直接由JasperReports引擎解析并生成报表。这种文件通常用于部署在服务器上,由应用程序直接调用。 2. JRXML文件:jrxml是jasper报表...

    iReport5.6&Jasperreport;开发报表所需全部jar.zip

    iReport是JasperReports的官方设计工具,它基于Eclipse IDE,提供了一个图形化界面来设计和预览报表模板。通过iReport,开发者可以直观地添加表格、图表、文本框等元素,并设置它们的样式和数据绑定。iReport支持...

    ireport scriptlet脚本的使用

    4. **编译和运行**:最后,保存报表模板,使用iReport的编译功能生成`.jasper`文件,然后在你的Java应用中引用这个报表,传递数据源并渲染报表。 对于描述中提及的“将小写金额转换成大小”,这通常涉及到数字到...

    报表制作的详细流程(iReport+jasperReports)

    【报表制作的详细流程(iReport+jasperReports)】 在IT领域,报表系统是数据分析和决策支持的重要工具。本文将深入探讨使用iReport和jasperReports这两个开源工具来创建专业报表的详细步骤。这两个工具结合使用,...

    struts2 jasper iReport 报表

    Struts2、 Jasper 和 iReport 是Java开发领域中用于创建动态和复杂的报表的重要工具。Struts2是一个基于MVC(模型-视图-控制器)架构的Web应用框架,它为开发者提供了一种组织和控制应用程序逻辑的方式。...

    原创:iReport&JasperReport开发手记(一) List报表开发与发布

    报表制作 本节将介绍如何使用 iReport 设计一个基本的 List 类型报表。 1. **启动 iReport 并新建报表**:打开 iReport,选择 "文件" -> "New"。在报表模板列表中,选择 "Blank A4",点击 "Open this template"。...

    ireport itext jasper-compiler

    JasperReports是另一个关键组件,它是一个报表引擎,可以解析由iReport或其他工具创建的JRXML文件,并根据这些模板动态生成报表。JasperReports支持多种输出格式,包括PDF、HTML、Excel、CSV等。`jasper-compiler....

    iReport-4.5.1(jasper视图编辑工具)

    iReport是专为JasperReports库和JasperReports Server打造的一款强大的报表可视化设计工具,它为用户提供了直观的图形化界面,使得非编程背景的人员也能轻松创建复杂的报表和图表。iReport 4.5.1是其一个稳定版本,...

    ireport + jasper的使用

    ireport是用于设计报表模板的可视化工具,而jasper则是用于处理和渲染报表的库,两者结合可以实现动态数据填充和多种格式的报表导出。 ireport是基于Eclipse IDE的一个插件,提供了直观的拖拽式界面,允许开发者...

    java和ireport制作报表实例

    2. **编译报表模板**:将`.jrxml`文件编译成`.jasper`文件,这一步可以由iReport工具自动完成或通过Java代码动态完成。 3. **连接数据库**:在Java程序中,使用JDBC建立与数据库的连接,执行SQL查询获取所需数据。 4...

    spring MVC Web应用中集成Jasper报表工具

    报表模板是用iReport或其他类似工具设计的XML文件,定义了报表的布局和样式。数据源则提供了报表所需的数据,可以是SQL查询、Java集合、XML文件等。 **报表自定义数据源的使用**: 在Spring MVC中,我们可以使用...

Global site tag (gtag.js) - Google Analytics