小编Luc*_*Mux的帖子

Apache POI - 使用 XSSFWorkbok + servlet 响应

我在 Java 应用程序中遇到问题,无法下载 XLSX 文件。

按照此链接中显示的示例:使用 Apache POI 创建供用户下载的 excel 文件,我尝试了两种配置来下载/保存电子表格。

首先使用 .XLS 文件:

response.setContentType("application/ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=testxls.xls");

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue("Some text");

ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
wb.write(outByteStream);

byte[] outArray = outByteStream.toByteArray();
OutputStream outStream = response.getOutputStream();
outStream.write(outArray);
outStream.flush();
Run Code Online (Sandbox Code Playgroud)

这有效。

然后我尝试使用 XLSX 文件:

response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition", "attachment; filename=testxls.xlsx");

XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet();
XSSFRow row = sheet.createRow(0);
XSSFCell cell = row.createCell(0); …
Run Code Online (Sandbox Code Playgroud)

java excel servlets xlsx apache-poi

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

apache-poi ×1

excel ×1

java ×1

servlets ×1

xlsx ×1