每次运行我的代码时,我都会收到一个空指针错误(如下所示),它指向用两个星号指定的行。
public void writeSomething(XSSFWorkbook wb){
for (String elem: listOfSheetNames){
if (elem.equals("Sheet2")){
sheet = wb.getSheet(elem); //sheet is of type XSSFSheet
XSSFRow row = sheet.getRow(0);
**XSSFCell cell = row.getCell(1);
if (cell == null){
cell = row.createCell(1);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("Apple");
}
}
}
}
我是apache poi的新手,我只是试图将数据写入第二张excel表(Sheet2)中的空白单元格。我在这里做错了吗?
答案 0 :(得分:5)
不幸的是,该单元目前null
不是空白单元格。将数据放在指定的工作表上会使其变为空白。您可能希望先创建单元格,然后检查它是blank
单元格而不是null
。
**XSSFCell cell = row.createCell(1);
if (cell == Cell.CELL_TYPE_BLANK){
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("Apple");
}
答案 1 :(得分:-1)
这会导致类型不兼容。
而是这样做:
if (cell.getCellType() == Cell.CELL_TYPE_BLANK){
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("Apple");
}