Как установить тип ячейки как строку в Apache POI XSSF 4.10? - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь установить значение ячейки в виде строки, используя Apache POI XSSF 4.10.

Я использовал код

sheet.getRow (i) .getCell (k) .setCellType(CellType.STRING);но он выдает исключение нулевого указателя.

Пожалуйста, помогите

1 Ответ

1 голос
/ 14 октября 2019

Если вы уже не создали ячейку в своем коде, всегда проверяйте, существует ли она. Если вы записываете в каждую ячейку только один раз и обращаетесь к ним только один раз, код может быть намного проще.

Доступ и запись только один раз (при условии, что лист существует):

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, если указанный лист, строка, ячейка еще не были созданы.

...