Метод setCellType() POI устаревшее решение

Когда я нашел Poi для получения формата символов в Интернете, я использовал этот метод для его решения.

                cell.setCellType(CellType.STRING);

Но сейчас там написано, что этот метод устарел.

Просматривая исходный код, я нашел подсказки по исходному коду

Если вы хотите получить строковое значение для своей числовой ячейки, остановитесь! Это не тот способ сделать это. Вместо этого для получения строкового значения числовой, логической ячейки или ячейки даты используйте DataFormatter.

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

 DataFormatter formatter = new DataFormatter();
 String formatCellValue = formatter.formatCellValue(cell);

Однако формат данных ячейки может не быть строковым, поэтому вы можете написать общий метод для получения строки, оценивая тип ячейки. 

private String getCellStringVal(Cell cell) {
        CellType cellType = cell.getCellTypeEnum();
        switch (cellType) {
            case NUMERIC:
                return cell.getStringCellValue();
            case STRING:
                return cell.getStringCellValue();
            case BOOLEAN:
                return String.valueOf(cell.getBooleanCellValue());
            case FORMULA:
                return cell.getCellFormula();
            case BLANK:
                return "";
            case ERROR:
                return String.valueOf(cell.getErrorCellValue());
            default:
                return StringUtils.EMPTY;
        }
    }

Guess you like

Origin blog.csdn.net/qq_25484769/article/details/121822258