`

产生报表的工具类

阅读更多

产生EXCEL报表的工具类
import java.io.File;
import java.sql.Connection;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.util.JRLoader;

import com.di.DBtools.utils.DBConnectionUtil;

public class CreateEXCELReport {
 
    public static void getEXCELReport(String filePath,HttpServletRequest request,HttpServletResponse response) throws JRException{
     
  DBConnectionUtil db = new DBConnectionUtil();
  //取得一个数据库连接
  Connection conn = db.getConnection();
    //打开经ireport编译之后生成的.jasper报表模板文件
    String path = request.getRealPath(filePath);
    File reportFile = new File(path);
    System.out.println("###########################"+reportFile);
    //创建一个JasperReport对象
    JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
    try{
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null,conn);
    //创建Excel报表
    JRXlsExporter exporter = new JRXlsExporter();
    response.reset();
    response.setContentType("application/x-msdownload");
    response.setHeader("Content-disposition","attachment;filename=report.xls");
   
    exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
    exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING,"UTF-8");
   
    exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,response.getOutputStream());
  
   // exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML,"<br style='page-before:always;'>");
   
    exporter.exportReport();
    //关闭数据库连接
    db.closeConnection(conn);
    }catch(Exception e){
    
    }
    }

 
}

 

产生HTML报表的工具类

 
import java.io.File;
import java.sql.Connection;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
import net.sf.jasperreports.engine.util.JRLoader;

import com.di.DBtools.utils.DBConnectionUtil;

public class CreateHTMLReport {
 
    public static void getHTMLReport(String filePath,HttpServletRequest request,HttpServletResponse response) throws JRException{
     
  DBConnectionUtil db = new DBConnectionUtil();
  //取得一个数据库连接
  Connection conn = db.getConnection();
    //打开经ireport编译之后生成的.jasper报表模板文件
    String path = request.getRealPath(filePath);
    File reportFile = new File(path);
    System.out.println("###########################"+reportFile);
    //创建一个JasperReport对象
    JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
    try{
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null,conn);
    //创建HTML报表
    JRHtmlExporter exporter = new JRHtmlExporter();
   
    exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
   
    exporter.setParameter(JRExporterParameter.OUTPUT_WRITER,response.getWriter());
   
    exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,Boolean.FALSE);

    exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML,"<br style='page-before:always;'>");
   
    exporter.exportReport();
    //关闭数据库连接
    db.closeConnection(conn);
    }catch(Exception e){
    
    }
    }

 
}

 

 

产生PDF报表的工具类

 


import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JasperRunManager;
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.export.JRPdfExporterParameter;
import net.sf.jasperreports.engine.util.JRLoader;

import com.di.DBtools.utils.DBConnectionUtil;

public class CreatePDFReport {
  public static void getPDFReport(String filePath,HttpServletRequest request,HttpServletResponse response) throws JRException{
      
   DBConnectionUtil db = new DBConnectionUtil();
   //取得一个数据库连接
   Connection conn = db.getConnection();
     //打开经ireport编译之后生成的.jasper报表模板文件
     String path = request.getRealPath(filePath);
     File reportFile = new File(path);
     System.out.println("###########################"+reportFile);
     //创建PDF报表
     byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),null,conn);
    
     //关闭数据库连接
     db.closeConnection(conn);
    
     //生成报表并输出
     response.setContentType("application/pdf");
     response.setContentLength(bytes.length);
     response.setCharacterEncoding("UTF-8");
     try {
   ServletOutputStream out = response.getOutputStream();
   
   out.write(bytes,0,bytes.length);
   
   out.flush();
   
   out.close();
   
  } catch (IOException e) {
  
   e.printStackTrace();
  }
     //创建一个JasperReport对象
   //  JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
 
  //   JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null,conn);
  
     //生成报表并输出
   //  JRPdfExporter exporter = new JRPdfExporter();
   
     // response.reset();
    // response.setContentType("application/pdf");
 
    // exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
    
   
   //exporter.setParameter(JRExporterParameter.OUTPUT_WRITER,response.getWriter());
 
    // exporter.setParameter(JRExporterParameter.INPUT_URL, request.getRealPath(""));
   //  exporter.setParameter(JRPdfExporterParameter.IS_USING_IMAGES_TO_ALIGN,Boolean.FALSE);

   //  exporter.setParameter(JRPdfExporterParameter.BETWEEN_PAGES_HTML,"<br style='page-before:always;'>");
    
  //   exporter.exportReport();
  
     }
}

 

或者


import java.io.File;
import java.sql.Connection;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
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.export.JRXlsExporter;
import net.sf.jasperreports.engine.util.JRLoader;

import com.di.DBtools.utils.DBConnectionUtil;

public class NewCreatePDFReport {
 
    public static void getPDFReport(String filePath,HttpServletRequest request,HttpServletResponse response) throws JRException{
     
  DBConnectionUtil db = new DBConnectionUtil();
  //取得一个数据库连接
  Connection conn = db.getConnection();
    //打开经ireport编译之后生成的.jasper报表模板文件
    String path = request.getRealPath(filePath);
    File reportFile = new File(path);
    System.out.println("###########################"+reportFile);
    //创建一个JasperReport对象
    JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
    try{
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null,conn);
    //创建Pdf报表
    JRPdfExporter exporter = new JRPdfExporter();
    response.reset();
    response.setContentType("application/x-msdownload");
    response.setHeader("Content-disposition","attachment;filename=report.pdf");
   
    exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
    exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING,"UTF-8");
   
    exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,response.getOutputStream());
  
   // exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML,"<br style='page-before:always;'>");
   
    exporter.exportReport();
    //关闭数据库连接
    db.closeConnection(conn);
    }catch(Exception e){
    
    }
    }

 
}

 

 

 

例子:

// CreateHTMLReport.getHTMLReport("ireport/report.jasper", request, response);
  
 //CreatePDFReport.getPDFReport("ireport/report.jasper", request, response);
 // NewCreatePDFReport.getPDFReport("ireport/report.jasper", request, response);
 //CreateEXCELReport.getEXCELReport("ireport/report.jasper", request, response);

分享到:
评论

相关推荐

    华报智能报表工具

    华报智能报表工具(ReportAll)是开发人员最理想的报表工具,具有全新的设计思想,对中国式报表和很多复杂报表有很强的针对性,他将“对象摆放”类和“电子表格”类报表开发工具完美融合,使用种类丰富且功能强大的...

    Ireport强大的报表工具制作报表必用代码 在Servlet中将集合中的数据输出到PDF,XLS,HTML

    在Java Web开发中,IReport是一款强大的报表设计工具,它允许开发者通过拖拽方式创建复杂的报表模板,并将数据源与这些模板结合,最终生成PDF、XLS、HTML等多种格式的报表。本文将深入探讨如何利用IReport以及相关库...

    科密X1导出卡式报表修复工具

    为了解决这一困扰,科密提供了专门的“科密X1导出卡式报表修复工具”,它专为修复这类问题而设计。 首先,我们要理解卡式报表在考勤管理中的作用。卡式报表通常包含了员工的打卡时间、迟到、早退、请假等详细信息,...

    sap报表开发基础和知识讲解

    SAP报表体系是由多个组件构成的,包括SAP报表工具PURIS、INVCO、INVCOSIS、SISEIS、PPIS、WMIS、FIS等。这些组件共同支撑着SAP报表系统的运行和报表的生成。 报表开发工具的简介中提到,报表开发工具包括ABAP/4编程...

    报表工具FineReport甘特图深度解析

    3. **专业报表工具**:这类工具不仅支持甘特图的制作,还提供了更广泛的报表和数据可视化功能。例如,FineReport等专业的报表工具将甘特图集成到更复杂的报表体系中,支持与其他图表和报表组件结合使用,非常适合...

    管理报表体系.docx

    某油田服务股份有限公司的管理报表体系是一套完善的管理工具,能够及时、全面、准确地反映公司运营的情况,满足对投资者的信息披露要求。该报表体系的应用将对公司的管理决策产生重要影响,提高公司的管理效率和水平...

    SQL Server2005报表服务器错误的常见问题解决方法

    当遇到如`rsInvalidReportServerDatabase - did not match any documents`这类错误时,通常是由于报表服务器数据库的权限设置不正确,或是升级过程中出现的问题。解决方案包括: 1. **停止报表服务**:在服务管理器...

    根据你的选择产生不同的交叉报表

    交叉报表是一种数据可视化工具,常用于数据库管理和数据分析中,它能根据用户的选择展示多维度的数据。在Access中,交叉报表能够灵活地展示数据,让用户能够更深入地理解数据间的关联和模式。本教程将深入探讨如何在...

    企业财务报表案例.pdf

    企业财务报表是反映企业经济活动、财务状况和经营成果的重要工具,它们提供了关于企业资产、负债、收入、费用和现金流的详细信息。本文件详细介绍了按照不同准则和制度编制的企业财务报表,包括小企业会计准则、企业...

    移动端报表FineReport的JS开发示例

    FineReport是一个专业的报表工具,特别是在移动端报表开发中表现出色。本文针对FineReport在移动端的JavaScript(JS)二次开发给出了一些示例和说明。以下详细知识点涵盖了移动端报表开发中如何利用FineReport的JS...

    行式报表—筛选数据与过滤

    1. **打开报表**:首先,需要使用报表设计工具打开需要进行过滤设置的报表模板。例如,可以通过FineReport打开模板`%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\DetailReport\Details_3.cpt`。 2. **设置...

    水晶报表传递参数(C#.net)

    在.NET开发中,水晶报表(Crystal Reports)是一种广泛使用的报告生成工具,允许开发者创建复杂的、交互式的报告。在使用水晶报表时,有时我们需要传递参数来动态地改变报告的数据源或过滤数据。本篇将详细解释如何...

    2021-2022年收藏的精品资料综合财务报表附注简体.doc

    10. **会计基准**:综合财务报表是基于历史成本法编制的,但也包含了重估价值或公允价值计量的物业和金融工具。此外,报表还需遵循香港联交所的证券上市规则和香港公司条例的规定。 11. **控制实体**:控制实体是指...

    3-2-4-08损益类公允价值变动收益,小型企业财务报表审计工作底稿编制指南(适用于审计执行企业会计准则的小.doc

    损益类公允价值变动收益是企业财务报表中的一个重要组成部分,尤其在执行企业会计准则的小型企业中,正确理解和处理这一项目对于确保财务信息的准确性和完整性至关重要。公允价值变动收益指的是企业在持有金融工具、...

    财务报表分析I.pptx

    财务报表分析是财务管理类PPT文档资料之一,其主要内容是介绍财务报表分析的基本概念和方法。该PPT文档共有四个单元,约占考试20%的内容。 财务报表分析的核心概念包括: A. 权责发生制的概念和配比原则的重要性:...

Global site tag (gtag.js) - Google Analytics