Как считать ячейку Excel, имеющую нулевые значения также в Java …?

Я использую ПОИ Apache 3.6. У меня есть столбец, который является пробелом. Я хотел бы смочь считать его и затем переместиться в следующий столбец. Даже если я мог бы решить NullPointerException проблема я не мог добраться до следующей ячейки.

Вот мой фрагмент кода:

HSSFCell cell = row.getCell(c);
String value = null;

switch (cell.getCellType()) {

    case HSSFCell.CELL_TYPE_FORMULA:
        value = "FORMULA value=" + cell.getCellFormula();
        break;

    case HSSFCell.CELL_TYPE_NUMERIC:
        value = "NUMERIC value=" + cell.getNumericCellValue();
        break;

    case HSSFCell.CELL_TYPE_STRING:
        value = "STRING value=" + cell.getStringCellValue();
        break;

    case HSSFCell.CELL_TYPE_BLANK:
        value="";
        break;

    case HSSFCell.CELL_TYPE_ERROR:
        value="error";
        break;

    default:
        break;
}

System.out.println("CELL col=" + cell.getColumnIndex() + " VALUE=" + value);

Как я могу разрешить свою проблему?

7
задан Jack 2 December 2015 в 17:14
поделиться

3 ответа

Что ж, вы можете проверить значение null перед оператором switch или изменить выполняемый вами вызов row.getCell. При проверке документации Javadoc на наличие POI есть 2 формы: первая - это то, что вы используете, вторая имеет дополнительный параметр типа Row.MissingCellPolicy, где вы можете передать значение, которое автоматически преобразует пустые ячейки в пустые.

5
ответ дан 6 December 2019 в 10:47
поделиться

Наконец-то я получил то, что хочу. Благодарю mezmo за это. Я хочу поделиться точным фрагментом кода, который нужно изменить. Просто замените строку, имеющую:

HSSFCell cell = row.getCell(c);

на

HSSFCell cell=row.getCell(c, org.apache.poi.ss.usermodel.Row.CREATE_NULL_AS_BLANK );
11
ответ дан 6 December 2019 в 10:47
поделиться

Вам нужно проверить, если cell! = Null , потому что, если ячейка не существует в строке, row.getCell (c) возвращает null

2
ответ дан 6 December 2019 в 10:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: