产生报表的工具类

产生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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值