`

JasperReports结合iReport制作报表-使用JasperReports生成报表

    博客分类:
  • java
 
阅读更多
《JasperReports结合iReport制作报表-使用iReport设计报表》
已经在http://www.naxsu.com/jasperreports-jie-he-ireport-zhi-zuo-bao-biao-shi-yong-ireport-she-ji-bao-biao/写得很清楚了,下面就接着说

下载JasperReports

JasperReports主页:http://jasperforge.org/projects/jasperreports

下载要注册,真麻烦

现在的最新版本是4.6.0,下载地址是:http://sourceforge.net/projects/jasperreports/files/jasperreports/JasperReports%204.6.0/

在这里我下载的是jasperreports-4.6.0-project.zip

 

环境配置

需要的jar包,这是我测试需求哪个加哪个,我生成PDFHTML报表用到以下已经足够了。

commons-beanutils-1.8.0.jar

commons-collections-2.1.1.jar

commons-digester-2.1.jar

commons-logging-1.1.1.jar

groovy-all-1.7.5.jar

iText-2.1.7.jar

iTextAsian.jar

jasperreports-4.6.0.jar

mysql-connector-java-5.1.7-bin.jar

 

测试程序

在这里我们就建一个简单的java项目来测试一下。

 

生成报表主要分为三个步骤:

<!--[if !supportLists]-->1.       <!--[endif]-->编译报表

iReport设计好的报表report1.jrxml编译成report1.jasper

<!--[if !supportLists]-->2.       <!--[endif]-->填充报表

连接数据库,把1编译好的report1.jasper填充好,生成report1.jrprint

<!--[if !supportLists]-->3.       <!--[endif]-->导出报表

也就是把2.填充好的报表按照各种格式导出来。

 

代码比较简单,下面直接看代码:

package com.naxsu.report;

import java.io.File;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JRExporterParameter;

import net.sf.jasperreports.engine.JasperCompileManager;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.export.JRHtmlExporter;

import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;

import net.sf.jasperreports.engine.export.JRPdfExporter;

import net.sf.jasperreports.engine.util.JRLoader;

/**

 * JasperReports生成报表简单应用

 */

public class ReportTest {

    /**

     * 编译报表

     */

    public static void compiler(String sourceFileName, String destFileName) {

       try {

           JasperCompileManager.compileReportToFile(sourceFileName,

                  destFileName);

       } catch (JRException e) {

           e.printStackTrace();

       }

    }

 

    /**

     * 填充报表

     */

    public static void fill(String sourceFileName, String destFileName) {

       Connection conn = null;

       try {

           Class.forName("com.mysql.jdbc.Driver");

           conn = DriverManager.getConnection(

                  "jdbc:mysql://localhost:3306/report", "root", "123");

           JasperFillManager.fillReportToFile(sourceFileName, destFileName,null, conn);

       } catch (JRException e) {

           e.printStackTrace();

       } catch (ClassNotFoundException e) {

           e.printStackTrace();

       } catch (SQLException e) {

           e.printStackTrace();

       }finally{

           if(conn != null) {

              try {

                  conn.close();

              } catch (SQLException e) {

                  e.printStackTrace();

              }

           }

       }

    }

 

    /**

     * 导出HTML格式报表

     */

    public static void exportToHTML(String sourceFileName, String destFileName) {

       try {

           JasperPrint jp = (JasperPrint) JRLoader.loadObject(new File(

                  sourceFileName));

           JRHtmlExporter export = new JRHtmlExporter();

           export.setParameter(JRExporterParameter.JASPER_PRINT, jp);

           export.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,

                  destFileName);

           export.setParameter(

                  JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,

                  Boolean.FALSE);

           export.exportReport();

       } catch (JRException e) {

           e.printStackTrace();

       }

    }

 

    /**

     * 导出PDF格式报表

     */

    public static void exportToPDF(String sourceFileName, String destFileName) {

       try {

           JasperPrint jp = (JasperPrint) JRLoader.loadObject(new File(

                  sourceFileName));

           JRPdfExporter export = new JRPdfExporter();

           export.setParameter(JRExporterParameter.JASPER_PRINT, jp);

           export.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,

                  destFileName);

           export.setParameter(

                  JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,

                  Boolean.FALSE);

           export.exportReport();

       } catch (JRException e) {

           e.printStackTrace();

       }

    }

 

    public static void main(String[] args) {

       String jrxmlName = "E:\\JasperReports_iReport\\report1.jrxml";

       String jasperFileName = "E:\\JasperReports_iReport\\report1.jasper";

       String jrprintFileName = "E:\\JasperReports_iReport\\report1.jrprint";

       String htmlFileName = "E:\\JasperReports_iReport\\report1.pdf";

       ReportTest.compiler(jrxmlName, jasperFileName);

       ReportTest.fill(jasperFileName, jrprintFileName);

       ReportTest.exportToPDF(jrprintFileName, htmlFileName);

    }

}

 PDF电子版请到:http://itway.iteye.com/blog/1555285下载
分享到:
评论

相关推荐

    JasperReports结合iReport制作报表教程

    以下是使用JasperReports和iReport制作报表的步骤: 1. **安装和配置**:首先,你需要下载并安装JasperReports库和iReport工具。确保你的开发环境支持Java,因为两者都需要Java运行环境。 2. **创建数据源**:在...

    JasperReports,iReport制作报表

    在"JasperReports,iReport制作报表"这个主题中,"功能JAR导入直接运行"意味着你需要将JasperReports库和iReport相关的JAR文件添加到你的项目类路径中。这些库包含了运行报表所需的所有组件,包括报表引擎、设计工具...

    JasperReports结合Ireport报表制作教程

    ### JasperReports结合Ireport报表制作教程 #### 一、引言 在当今信息化时代,数据可视化成为企业管理和决策的重要工具之一。报表系统作为数据展示的一种重要形式,在各个领域都有着广泛的应用。JasperReports是一...

    ireport(jasperreports-5.6+groovy-2.1.3)

    **ireport与jasperreports-5.6+groovy-2.1.3详解** `ireport`是一款基于Java的开源报表设计工具,它是`JasperReports`的一部分,主要用于创建复杂的业务报告。`JasperReports`是世界上最受欢迎的Java报表库之一,...

    iReport-5.0.1-windows-installer.exe iReport报表开发工具

    iReport是JasperReports库的配套设计工具,用于创建交互式、动态的报表,这些报表可以在Java应用程序、Web应用或独立的报表服务器上运行。 标题中的"iReport-5.0.1-windows-installer.exe"指的是iReport的特定版本...

    iReport-3.7.0 + jasperreports-3.7.0生成报表

    在这个“iReport-3.7.0 + jasperreports-3.7.0生成报表”的主题中,我们将深入探讨这两个工具以及如何结合它们来创建报表。 `iReport` 是一个基于Java的报表设计工具,它是`JasperReports` 的图形用户界面(GUI)...

    iReport-5.5.1-windows-installer

    iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。 iReport的遵循AGPL自由开源协议,在SourceForge.net开源社区发布 [1] 。

    iReport-3.0.0-windows-installer

    总结起来,iReport-3.0.0-windows-installer是针对Windows用户的报表设计工具,主要用于生成JasperReports的XML文件,并支持转换为Jasper文件以供Struts2等Java应用使用。通过这个工具,开发者能够构建出功能丰富的...

    iReport-2.0.4-windows-installer

    iReport是一款强大的报表设计工具,尤其在Java领域中,它被广泛用于开发复杂的JasperReports报表。这个“iReport-2.0.4-windows-installer”文件是专为Windows用户设计的安装包,旨在简化用户的安装过程,无需关心...

    iReport-JasperReports报表开发指南+操作手册

    《iReport-JasperReports报表开发指南+操作手册》是一份详尽的资源,旨在帮助开发者深入理解和高效使用iReport和JasperReports这两个强大的报表工具。iReport是JasperReports的图形化设计工具,用于创建复杂的报表...

    iReport-5.6.0-windows-installer.zip

    iReport是一款强大的报表设计工具,专门用于开发JasperReports库和JasperReports Server中的报表。它的版本5.6.0提供了Windows平台上的安装程序,即我们所看到的"iReport-5.6.0-windows-installer.zip"压缩包。这个...

    ireport-windows-installer

    iReport is the free, open source report designer for JasperReports and JasperReports Server. Create very sophisticated layouts containing charts, images, subreports, crosstabs and much more. Access ...

    jasperreports+ireport在eclipse中的使用

    - `jasperreports-1.3.0.jar`:JasperReports API。 - `commons-beanutils-1.7.jar`:JavaBeans Utility类。 - `commons-collections-2.1.jar`:集合框架扩展类。 - `commons-digester-1.7.jar`:用于处理XML文档的...

    iReport-5.6.0-windows-installer.exe

    iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。

    iReport-Ultimate-Guide-3 (1).pdf

    本节提供了一个简单的程序示例,展示了如何使用iReport和JasperReports创建基本的报表。 ### 四、报表结构 #### 4.1 带区 带区是报表中最基本的构建单元,用于组织和布局内容。主要包括: - **报告属性**:用于...

    iReport-5.1.0-windows-installer.exe

    iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器。 它100%使用Java语言编写。是目前全球最为流行的开源报表设计器。 由于它丰富的图形界面,你能够很快的创建出任何一种你想要的...

    iReport-nb-3.1.0

    2. **JasperReports库**:包含JasperReport的jar文件,这些文件包含了报表生成、数据处理和渲染等功能的API,供开发者在Java项目中引用。 3. **示例和模板**:可能包含一些预设的报表模板和示例,帮助用户快速了解...

    iReport-5.6.0-windows-installer

    2. **JasperReports集成**:iReport是基于JasperReports库的,允许用户利用Java编程语言来创建动态、交互式的报表。JasperReports提供了丰富的报表元素,如文本框、表格、图表、图像等,以及复杂的脚本和表达式支持...

Global site tag (gtag.js) - Google Analytics