小编典典

创建一个Excel文件供用户使用Apache POI下载

jsp

我可以使用apache poi创建一个Excel文件。但是,我希望用户能够将其下载为“ true”
excel文件。我要实现的效果是要有一个弹出框,允许用户下载文件。这类似于使用

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

有一个严重的例外:我必须允许用户下载正确的excel文件。我在上面的代码中读到某处,只是对客户端说服务器正在发送excel文件


阅读 287

收藏
2020-06-08

共1个答案

小编典典

在普通的servlet中而不是JSP文件中完成该工作。JSP文件用于动态生成HTML代码,并且为此使用字符编写器而不是二进制输出流,因此只会破坏POI生成的Excel文件,本质上是二进制流。

因此,基本上,您需要doGet()在servlet方法中进行的所有操作如下:

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。

2020-06-08