Como lidar com excepção de ponteiro nulo durante a leitura Excel valor coluna data utilizando o método getDateCellValue () de Apche poi

Tech_sharma:

Estou lendo arquivo excel pleiteará e eu tenho uma condição como se columnTypeé "data", em seguida, definir getCellDateValueusando outra forma formattere formatCellValue:

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

É bom trabalhar para toda a coluna se ele está tendo um valor ou não, mas se a coluna data é nulo, ele está jogando NullPointerException.

Por que é jogando essa exceção e como faço para me livrar dele?

Ananthapadmanabhan:

É lá na documentação poi Apache -se que o método getDateCellValue()que você está chamando retornos nullpara cells.So em branco, mais provavelmente, o format()método deve ser lançando exceção de ponteiro nulo por causa disso. Sempre que o seu código encontra um valor de célula vazia quando o tipo de coluna é 'date', ele retorna nulo que as format()tentativas de método para o formato e lança exceção.

java.util.Date getDateCellValue ()

Obter o valor da célula como uma data.

Para strings que lançar uma exceção. Para as células em branco que retornar nulo.

Returns: o valor da célula como uma data

Assim, em breve, você precisa adicionar um cheque nulo em seu código para lidar com 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
   }

Acho que você gosta

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