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

How to set cell type as string in Apache POI XSSF 4.10?

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

我用过代码

sheet.getRow(i).getCell(k).setCellType(CellType.STRING);但它抛出空指针异常。

请帮忙

除非您已经在代码中创建了单元格,否则请始终检查它是否存在。如果您只对每个单元格写入一次并且只访问它们一次,代码会容易得多。

只访问和写入一次(假设存在sheet):

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);

如果尚未创建指定的 sheet、行、单元格,这两个代码都确保单元格存在,因为 getXYZ 方法可以 return NULL。 =14=]