ylbtech-笔记-Java-API-POI:POI 笔记 |
1、
1,
POI对JDK版本支持及XLSX (2017-04-01 13:51:39)
对JDK6的支持,最后版本是POI-3.10.1;从POI-3.11开始,最低支持JDK7。
POI-3.5开始提供对xlsx格式的支持,而此前版本只支持xls格式。
xlsx实质上是ooxml格式,使用xml记s录数据,用ZIP打包压缩,后缀名修改为xlsx。
2,
response.setContentType("application/ vnd.ms-excel");跟你下下来的文件能不能找没任何关系。
他只是让浏览器知道要保存为什么文件而已,真正的文件还是在流里面的数据,你设定一个下载类型并不会去改变流里的内容。
而实际上只要你的内容正确,文件后缀名之类可以随便改,就算你指定是下载excel文件,下载时我也可以把他改成pdf等
2.2,
本来我导出的格式是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类型也要设置正确.
3,
1kb=1024byte=8192位(也就是1024*8)
2、#201903028#
1、
P1:
java.lang.IllegalArgumentException:Invalid row number (65536) outside allowable range(0..65535)
2、