当前位置 : 主页 > 编程语言 > java >

jsp – 创建一个excel文件供用户使用Apache POI下载

来源:互联网 收集:自由互联 发布时间:2021-06-25
我可以使用apache poi创建一个excel文件.但是,我希望用户能够将其下载为“真实”的excel文件.我想要实现的效果是有一个允许用户下载文件的弹出框.这与使用相似 %@ page contentType="applicat
我可以使用apache poi创建一个excel文件.但是,我希望用户能够将其下载为“真实”的excel文件.我想要实现的效果是有一个允许用户下载文件的弹出框.这与使用相似

<%@ page contentType="application/vnd.ms-excel" pageEncoding="ISO-8859-1"%> 
<%response.setHeader("Content-Disposition", "attachment;filename=myfile.xls"); %>

有一个重要的例外:我必须允许用户下载一个正确的Excel文件.我读到上面的代码只是向客户端说服务器正在发送一个excel文件

在正常的servlet中执行该作业,而不是JSP文件. JSP文件用于动态生成HTML代码,并且正在使用字符写入器而不是二进制输出流,因此只会损坏您的POI生成的Excel文件,本质上是二进制流.

所以,基本上所有你需要做的servlet的doGet()方法如下:

response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=filename.xls");
HSSFWorkbook workbook = new HSSFWorkbook();
// ...
// Now populate workbook the usual way.
// ...
workbook.write(response.getOutputStream()); // Write workbook to response.
workbook.close();

现在,要下载它,通过其URL而不是JSP文件调用servlet.

网友评论