Apache POI не может заменить пустые ячейки Excel - PullRequest
0 голосов
/ 27 февраля 2020

Я сейчас читаю значения из таблицы Excel и присваиваю это значение переменной String.
Ниже приведен пример кода, который я использую:

        Workbook workbook = new XSSFWorkbook(iStream);
        Sheet firstSheet = workbook.getSheetAt(0);
        Iterator<Row> iterator = firstSheet.iterator();
        // Skips the header row
        iterator.next();

        // Iterate through the first sheet and get the cell values
        while (iterator.hasNext()) {

            Row nextRow = iterator.next();
            Iterator<Cell> cellIterator = nextRow.cellIterator();

            while (cellIterator.hasNext()) {

                Cell cell = cellIterator.next();
                int columnIndex = cell.getColumnIndex();

                switch (columnIndex) {
                case 0:
                    String userName;
                    if (cell.getStringCellValue() == "") {
                        userName = "BlankCell";
                    } else {
                        userName = cell.getStringCellValue();
                    }                       
                    break;
                }

У меня есть несколько пустых ячеек в это таблица Excel, которую я пытаюсь заменить фразой «BlankCell».
В прошлом я успешно использовал этот фрагмент кода, но по какой-то причине он больше не работает.
Является ли мой лог c в этом случае неправильным для замены пустых ячеек?

1 Ответ

2 голосов
/ 27 февраля 2020

Сравнение строк по == не является хорошей практикой, для этого есть метод equals.

String userName;
if ("".equals(cell.getStringCellValue())) {
    userName = "BlankCell";
} else {
    userName = cell.getStringCellValue();
}

...