JasperReport输出Html报表

1)Html格式:

 

/**  
* 导出报表  
*   
* @param request  
* @param response  
* @param reportFilePath  
* @param params  
* @param con  
* @throws JasperReportException  
*/   
public void export(HttpServletRequest request,     
	       HttpServletResponse response, 
	       String reportFilePath, Map params,   
	       Connection con) 
	       throws JasperReportException {   
	try {   
	    PrintWriter out = response.getWriter();   
	    try {   
		response.setContentType("text/html;charset=UTF-8");   
		JasperPrint jasperPrint = new JasperPrintWithConnection
		       (reportFilePath, params, con).getJasperPrint();   
		// 使用JRHtmlExproter导出Html格式   
		JRHtmlExporter exporter = new JRHtmlExporter();   
		request.getSession().setAttribute 
		(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);   
		exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);   
		exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);   
		exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "./servlets/image?image=");   
		exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");   
		// 导出   
		exporter.exportReport();   
	    } catch (Exception e) {   
		e.printStackTrace();   
		throw new JasperReportException("在导出Html格式报表时发生错误!");   
	    } finally {   
		if (out != null) {   
		    try {   
			out.close();   
		    } catch (Exception e) {   
		    }   
		}   
	    }   
	} catch (IOException ioe) {   
	    ioe.printStackTrace();   
	    throw new JasperReportException("从Response中取得PrintWriter时发生错误!");   
	}   
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值