我用POI操作excel写数据,然后就报这个错了
1 XSSFWorkbook workbook = new XSSFWorkbook(); 2 SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(workbook);
我在网上搜了下,只有stackoverflow这个网站有这个的,但是进不去,
估计有人也会遇到这个错误,我分析了错误原因是:
我往excel中写数据的顺序是这样的:
SXSSFWorkbook这个类是专门用来往Excel中写入大量数据的,它会偷偷摸摸的把数据写会磁盘,显得比较快。
然后这次我就中招了,往下面的行写得太深,然后想回头从前几行写起就抛异常了。
解决办法:
1. 如果不能改变写的顺序,就不要用SXSSFWorkbook
2. 如果想求写入速度的话,最好用行的方式写入