我正在尝试使用Apache POI XSSF 4.10将单元格值设置为String。
我已经使用了代码
sheet.getRow(i).getCell(k).setCellType(CellType.STRING);但会引发空指针异常。
请帮助
答案 0 :(得分:1)
除非您已经在代码中创建了单元格,否则请始终检查它是否存在。如果您只写一次每个单元格并且只访问一次,那么代码会容易得多。
仅访问和写入一次(假设存在工作表):
Row r = sheet.createRow(rownum);
Cell c = r.createCell(column);
c.setCellType(CellType.STRING);
完整代码可多次访问单元格:
Row r = sheet.getRow(rownum);
if (r == null) {
r = sheet.createRow(rownum);
}
Cell c = r.getCell(column);
if (c == null) {
c = r.createCell(column);
}
c.setCellType(CellType.STRING);
这两个代码都确保该单元格存在,因为如果尚未创建指定的工作表,行,单元格,则getXYZ
方法可以返回NULL
。