如何在Apache POI XSSF 4.10中将单元格类型设置为字符串?

时间:2019-10-13 18:19:23

标签: excel apache-poi cell xssf

我正在尝试使用Apache POI XSSF 4.10将单元格值设置为String。

我已经使用了代码

sheet.getRow(i).getCell(k).setCellType(CellType.STRING);但会引发空指针异常。

请帮助

1 个答案:

答案 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