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

标签 jsp servlets apache-poi

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

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

有一个严重的异常(exception):我必须允许用户下载正确的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。

关于jsp - 创建一个Excel文件供用户使用Apache POI下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11226603/

相关文章:

java - 将 Web 元素导入 Excel 时出现空指针异常

java - 使用 Apache POI 获取 Excel 文件中的列名称

java - 使用 Apache POI 读取 MS-word 文件中表格单元格内的 UTF-8 编码文本内容

java - 从 JSP 中的 java 类调用函数

java - JSP include指令和JSP include标签的区别之一

java - Servlet 中的 getParameter

javascript - 文件上传: Check for file format and then invoke srvlet

html - 根据返回的数据库值选中/取消选中复选框

java - http 状态 404 – 在 Tomcat 服务器上的 jsp、servlet 中未找到

jquery - 服务程序 : Not able to get the response back to ajax function(in success block)