在现有行中创建单元格时发生Java Apache POI nullpointer异常
在下面的代码中,我在第一行在现有行中创建单元格时发生Java Apache POI nullpointer异常,java,excel,apache-poi,Java,Excel,Apache Poi,在下面的代码中,我在第一行上得到一个java.lang.NullPointerException.createCell(0) 当我删除spreadSheet.getRow(I+1)和它后面的if块时,然后用spreadSheet.createRow(I+1)替换它们,这一切都可以正常工作 不幸的是,这样做会删除我行中的一些现有数据,所以我希望能够阻止这个空异常。但似乎无法找出原因: 我的定义是明确的 行已定义,或者我们将在if块中创建新行 单元格是使用createCell()新创建的,因此无需
上得到一个java.lang.NullPointerException.createCell(0)
当我删除spreadSheet.getRow(I+1)
和它后面的if块时,然后用spreadSheet.createRow(I+1)
替换它们,这一切都可以正常工作
不幸的是,这样做会删除我行中的一些现有数据,所以我希望能够阻止这个空异常。但似乎无法找出原因:
- 我的定义是明确的
- 行已定义,或者我们将在if块中创建新行
- 单元格是使用
新创建的,因此无需事先定义createCell()
//Clone template
System.out.println(workbook.getNameIndex("template"));
spreadSheet = workbook.cloneSheet(workbook.getNameIndex("template")+1, infoString);
//Apply data to cells
for (int i = 0; i < chartData.getItemCount();i++) {
row = spreadSheet.getRow(i+1);
if (row == null) {
spreadSheet.createRow(i+1);
}
row.createCell(0).setCellValue(i+1);
row.createCell(1).setCellValue(chartData.getDataItem(i).getXValue());
row.createCell(2).setCellValue(chartData.getDataItem(i).getYValue());
}
//克隆模板
System.out.println(workbook.getNameIndex(“模板”);
电子表格=workbook.cloneSheet(workbook.getNameIndex(“模板”)+1,infoString);
//将数据应用于单元格
对于(int i=0;i
您没有将createRow
的结果分配回row
。改变
spreadSheet.createRow(i+1);
到
您没有将
createRow
的结果分配回row
。改变
spreadSheet.createRow(i+1);
到