javaweb导出excel

时间:2022-12-04 05:36:09

百度找了半天也没找到一个提供有效思路的,全都告诉我此路不通

html表格数据粘贴到txt,然后改后缀为xsl,打开,发现二者无缝对接

@参考文章、@参考前任项目

    /**
* @todo
* @param tableHtml 表格html,如<table><tr><td></td></tr></table>。table能直接成为xls的表格
* @param fileName 导出的excel文件名,不带后缀
* @date 2018年11月22日
* @author yanan
*/
public static void exportDataExcel(HttpServletResponse response, String tableHtml, String fileName) throws UnsupportedEncodingException {
response.setCharacterEncoding("UTF-8");
//返回头设置文件名。Content-Disposition参数本来是为了在客户端另存文件时提供一个建议的文件名,但是考虑到安全的原因,就从规范中去掉了这个参数。
//但是由于很多浏览器已经能够支持这个参数,所以只是在规范文档中列出,但是要注意这个不是HTTP/1.1的标准参数。
//若不用java.net.URLEncoder.encode,则中文文件名乱码无法显示(英文部分不影响)
response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName+".xls", "UTF-8"));
//返回内容为excel
response.setContentType("application/ms-excel;charset=UTF-8");
PrintWriter out = null;
try {
out = response.getWriter();
} catch (IOException ex) {
}
out.print(tableHtml);
out.close();
}