当前位置: 代码迷 >> J2SE >> java poi 导出excel不能超过65536行,该如何解决
  详细解决方案

java poi 导出excel不能超过65536行,该如何解决

热度:45   发布时间:2016-04-23 19:57:05.0
java poi 导出excel不能超过65536行
报这个异常
Exception in thread "main" java.lang.IllegalArgumentException: Invalid row number (65536) outside allowable range (0..65535)
at org.apache.poi.hssf.usermodel.HSSFRow.setRowNum(HSSFRow.java:239)
at org.apache.poi.hssf.usermodel.HSSFRow.<init>(HSSFRow.java:85)
at org.apache.poi.hssf.usermodel.HSSFRow.<init>(HSSFRow.java:69)
at org.apache.poi.hssf.usermodel.HSSFSheet.createRow(HSSFSheet.java:224)
at OutResList.main(OutResList.java:119)

第119行代码
         row = sheet.createRow((int) t + 1);

是因为java poi包有限制么?只能导65536行?超过了就需要另外建一个sheet?还是程序有问题?
------解决思路----------------------
HSSFSheet    好像有个叫XHSSFSheet对象的吧。。当时我导出了100w行,都没事~
------解决思路----------------------
poi用:
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet1= wb.createSheet("test");

支持office2007,可以超过65536行,当数据比较多的时候,会报内存溢出的错误,解决办法看:http://blog.csdn.net/wula0010/article/details/5329817,调整jvm的堆栈大小设置 
  相关解决方案