//指定可访问大小为2方便说明问题; 如果不传默认 100
SXSSFWorkbook wb = new SXSSFWorkbook(2);
SXSSFSheet sheet = wb.createSheet("sheet");
//在当前sheet添加2行数据信息
sheet.createRow(0);
sheet.createRow(1);
//获取 第一行数据
SXSSFRow firstRow = sheet.getRow(0);
//正常得到firstRow对象
firstRow.createCell(1);
//当前行号已经达到了 创建SXSSFWorkbook 的初始化rowAccessWindowSize
//此时再往加当前sheet添加一行
sheet.createRow(3);
//此时再获取 第一行的数据信息
SXSSFRow firstRow1 = sheet.getRow(0);
// 此时得到的 firstRow1 = null; 会报 NullPointerException
// 问题原因 ---> 在初始化的时候,设置的可访问大小为2 ;当前行号数为3,已超过了可访问值2 ;
// 当当前sheet所有的行号超过了初始化设置的可访问值时, 无法再使用SXSSFSheet.getRow()
// 方法进行访问行,会直接返回 null 值;
firstRow1.createCell(1);
Poi 通过SXSSFWorkbook获取 制定行的时候报错 空指针
最新推荐文章于 2024-07-24 17:32:57 发布