关于NPOI导出excel文件(xls和xlsx两种格式)提示格式不符的问题

时间:2023-03-08 23:27:54
关于NPOI导出excel文件(xls和xlsx两种格式)提示格式不符的问题

这两天在做导出excel文件的时候遇到这个问题

关于NPOI导出excel文件(xls和xlsx两种格式)提示格式不符的问题

本来我导出的格式是xlsx格式的,但是下载得到的文件格式变成了xls,

一开始以为是返回的contenttype设置错了

return File(ms, "application/vnd.ms-excel", "新车型导入模板文件.xlsx");

然后我把application/vnd.ms-excel换成了application / vnd.openxmlformats - officedocument.spreadsheetml.sheet,但是还是没有解决问题,

后来想到可能是文件本身就是xls的格式,然后查了一下资料,找到了问题所在.

是我在生成写入excel时使用的类不对, NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();

HSSFWorkbook类生成的就是xsl格式的excel文件,

而当我们需要生成xslx格式时,必须使用XSSFWorkbook这个类,最后完美解决了问题,

当然ContentType类型也要设置正确.