Если вы уже не создали ячейку в своем коде, всегда проверяйте, существует ли она. Если вы записываете в каждую ячейку только один раз и обращаетесь к ним только один раз, код может быть намного проще.
Доступ и запись только один раз (при условии, что лист существует):
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
, если указанный лист, строка, ячейка еще не были созданы.