打赏

javaweb导出excel

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

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();
    }

 

posted @ 2018-11-22 16:29  每天都要学一点  阅读(410)  评论(0编辑  收藏  举报