这两天在做导出excel文件的时候遇到这个问题
本来我导出的格式是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类型也要设置正确.