Cómo manejar excepción de puntero nulo durante la lectura de Excel valor de la columna utilizando el método de la fecha getDateCellValue () de Apche poi

Tech_sharma:

Estoy leyendo archivo de Excel a fondo y tengo una condición como si columnTypees "fecha" a continuación, establezca getCellDateValuede otra manera utilizar formattery formatCellValue:

String valueOfColumn = StringUtils.equalsIgnoreCase(excelData.getColumnType(), "date")
                            ? format(cell.getDateCellValue(), "dd/MM/yyyy")
                            : formatter.formatCellValue(cell);
excelData.setColumnValue(valueOfColumn );

Está funcionando bien para toda la columna de si se trata de tener valor o no, pero si la columna de la fecha es nulo, está lanzando NullPointerException.

¿Por qué se lanzaba esta excepción y cómo me deshago de ella?

Ananthapadmanabhan:

Es allí en la documentación de Apache POI sí que el método getDateCellValue()que está llamando retornos nullpara cells.So en blanco, probablemente el format()método debe ser lanzando excepción de puntero nulo debido a esto. Cada vez que el código se encuentra con un valor de celda vacía cuando el tipo de columna es 'fecha', se devuelve un valor nulo que los format()intentos método de formato y lanza una excepción.

java.util.Date getDateCellValue ()

Obtener el valor de la celda como una fecha.

Para las cadenas que tiramos una excepción. Para las celdas en blanco volvemos un nulo.

Devuelve: el valor de la celda como una fecha

Así que en resumen, es necesario agregar un cheque nulo en el código para manejar este caso.

    String valueOfColumn;
   if(cell != null ) {
    if(StringUtils.equalsIgnoreCase(excelData.getColumnType(), "date") && cell.getDateCellValue() != null) {
      valueOfColumn = format(cell.getDateCellValue(), "dd/MM/yyyy");
    } else {
      valueOfColumn = formatter.formatCellValue(cell)
    }
     excelData.setColumnValue(valueOfColumn );
   }
   else {
   // handle else case for cell being null
   }

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=389922&siteId=1
Recomendado
Clasificación