Web应用导出Excel报表的简单实现(HTML)
在Web应用中,很多数据经常要导出成Excel文档。用专门的生成真正的Excel文档的方式比较复杂,不太好用。所以经常用一种简单的方式来实现,即将报表保存为HTML格式,然后用Excel打开。
实现方式:
第一步,用JSP实现HTML版本的报表
第二步,在该JSP页面头部设置response的ContentType为Excel格式
<% response.setContentType("application/vnd.ms-excel); %>
中文问题:
查看源代码时发现JSP文件中写死的中文为乱码,则在JSP文件头部添加一行
<%@ page contentType="text/html; charset=gb2312" %>
查看源代码时发现文字为中文,但是用Excel打开为乱码则在<html>与<head>中加入
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
如下:data.jsp
文件设置:<%@ page contentType="text/html; charset=gb2312" language="java" %>
导出方法:
//报表导出
function doExp() {
document.forms(1).action = basePath + "/jsp/common/expexcel.jsp";
document.forms(1).data.value = sheet1.innerHTML;
document.forms(1).submit();
}
实际导出的jsp页面:excel.jsp 下图
通过以上设置,设置jsp导出报表且中文乱码的问题就能完美解决了。