通过java servlet下载Excel

时间:2016-07-12 05:57:42

标签: java excel servlets

我需要下载excel表(HSSF工作簿)。在响应中,我将内容类型和标题设置为

response.setContentType("application/vnd.ms-excel");
        response.setHeader("Content-Disposition",
                "attachment; filename=user.xls");
        OutputStream out = response.getOutputStream();
        workBook.write(out);

当我点击按钮时,它正在调用servlet但是没有下载excel。警惕我得到了像

这样的回复

???????????????????????????????????????????根 ????进入工作簿?进入工作簿,进入工作簿,进入工作簿,进入工作簿,进入工作簿,进入工作簿,进入工作簿。 ???????????????????????

建议我解决此问题的任何想法。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

尝试指定mime类型。例如:

response.setContentType("application/octet-stream");

对于更通用的解决方案,请尝试使用此:

    String mimeType = URLConnection
            .guessContentTypeFromName(file.getName());
    if (mimeType == null) {
        mimeType = "application/octet-stream";
    }

    response.setContentType(mimeType);