【问题标题】:Excel warning : File is in different format than specified by the file extensionExcel 警告:文件的格式与文件扩展名指定的格式不同
【发布时间】:2012-12-25 16:52:27
【问题描述】:

在我的应用程序中,我使用 apache POI 3.8 生成报告。

系统运行良好,并生成 xls 格式的报告。

但是当我打开 xls 文件时,它在打开文件之前给了我警告。

这是我正在使用的响应类型...

response.setHeader("Content-Type", "application/vnd.ms-excel");         
response.setHeader("Content-Disposition","attachment; filename="+xlsFileName+".xls");

我也试过...

response.setHeader("Content-Disposition","attachment; filename="+xlsFileName+".xls");
 response.setHeader("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

但问题依然存在。在这两种情况下,如果我将文件扩展名用作“.xlsx”,那么它不会发出任何警告并且工作正常。

那么谁能告诉我为什么它会警告 MS-Excel 2003 格式??

【问题讨论】:

标签: java excel apache-poi content-type


【解决方案1】:

Apache POI 使用 HSSFWorkbook 对象来创建 xls 文件和 XSSFWorkbook 对象来创建 xlsx 文件。请检查您用于创建 xls 的对象。

http://poi.apache.org/spreadsheet/quick-guide.html

【讨论】:

  • 那么有什么通用的接口可以同时创建xls和xlsx文件吗??
  • Workbook 是 xls 和 xlsx 的通用接口。检查上面包含代码示例的链接。
  • ohk..我用过 Workbook wb = new XSSFWorkbook();所以我正在生成 xlsx 文件,但扩展名是 xks。所以我得到了上面提到的警告。我将其替换为 Workbook wb = new HSSFWorkbook();现在它没有给出任何警告并且工作正常。感谢您的回复:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
  • 2020-06-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多