Как перенести Java-схему graphql в браузер JS

Я также получил эту ошибку с POI версии 3.12. Я думаю, что ошибка зарегистрирована там: https://bz.apache.org/bugzilla/show_bug.cgi?id=56702 , и я добавил комментарий там с моим анализом.

Вот обходной путь, который я использовал: Исключение было поднято HSSFCell.getNumericCellValue, которое было вызвано DateUtil.isCellDateFormatted. DateUtil.isCellDateFormatted делает 2 вещи: 1) проверьте тип значения ячейки, вызвав HSSFCell.getNumericCellValue, а затем DateUtil.isValidExcelDate (), что, по-моему, почти бессмысленно. 2) проверьте, является ли формат ячейки форматом даты

Я скопировал код раздела 2) выше в новой функции «myIsADateFormat» и использовал его вместо DateUtil.isCellDateFormatted (это довольно грязно копировать библиотечный код, но он работает ...):

private boolean myIsADateFormat(Cell cell){
    CellStyle style = cell.getCellStyle();
    if(style == null) return false;
    int formatNo = style.getDataFormat();
    String formatString = style.getDataFormatString();
    boolean result = DateUtil.isADateFormat(formatNo, formatString);
    return result;
}

Если вам нужно сначала проверить тип значения, вы также можете использовать это:

CellValue cellValue = evaluator.evaluate(cell);
int cellValueType = cellValue.getCellType();
if(cellValueType == Cell.CELL_TYPE_NUMERIC){
    if(myIsADateFormat(cell){
        ....
    }
}

0
задан karthik nedunchezhiyan 18 January 2019 в 08:59
поделиться