Excel警告:文件格式与文件扩展名指定的格式不同

时间:2013-01-11 05:57:30

标签: java excel apache-poi content-type

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

系统工作正常,并以xls格式生成报告。

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

enter image description here

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

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格式发出警告??

1 个答案:

答案 0 :(得分:8)

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

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