java - 如何摆脱用户尝试打开 Excel 电子表格时显示的警告消息?

标签 java excel apache-poi

我正在使用 Apache POI 库的 3.17 版在 Java 中创建 Excel 电子表格。当用户从服务器下载它并尝试打开电子表格时,会显示一条警告消息。我在想电子表格的格式不知何故不正确。我如何修复它以便用户不会看到该消息?请务必注意,电子表格可以正常打开,并且所有数据都在那里。

XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet spreadsheet;

// Add rows and cells to spreadsheet

response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-Disposition", "attachment; filename=sheet.xls");
response.setCharacterEncoding("UTF-8");
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);

ByteArrayOutputStream bos = new ByteArrayOutputStream();
workbook.write(bos);
bos.close();

try (InputStream stream = new ByteArrayInputStream(bos.toByteArray())) {
  IOUtils.copy(stream, response.getOutputStream());
}

enter image description here

最佳答案

扩展名应该是.xlsx,而不是.xls

关于java - 如何摆脱用户尝试打开 Excel 电子表格时显示的警告消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47318431/

相关文章:

java - 开发 Eclipse Content Assist 插件

excel - 在Excel VBA中获取当前单元格周围的相邻单元格值

c# - UnmanagedExports 函数参数 - 导致 VBA 49 错误的 DLL 调用约定

java - 使用 POI 在 Excel 中打开报告,浏览器保持不变

java - 有什么方法可以使用 Apache POI 在 Excel 中创建数据透视表吗?

java - 如何使用 Apache POI 从 Excel 获取货币代码?

java - 使用 netbeans 11 配置 JavaFX

java - infinispan 服务器上的 JDBC_PING 不工作

java - 有没有办法在 Java RMI 调用中引入虚假延迟?

javascript - 在 Excel 中使用 JavaScript