Verificar celula esta vazia com Apache POI

Preciso verificar uma celula da tabela excel, usando o POI, se esta celula esta vazia ou nula.

public class capturaDadosXls {

public static void main(String args[]) {

    File caminho = new File("d:\\planilhadados.xls");
    List<Pessoa> listaPessoas = new ArrayList<>();

    try {

        // lendo bytes do arquivo selecionado
        FileInputStream ipts = new FileInputStream(caminho);

        //criando pasta de trabalho
        HSSFWorkbook planilha = new HSSFWorkbook(ipts);

        // definindo qual aba sera lida na posição ZERO(1ª)
        HSSFSheet abaPlanilha = planilha.getSheetAt(0);

        //Percorre tdas as linhas da tabela
        Iterator<Row> linhaIterator = abaPlanilha.rowIterator();

        // fazendo a interação, percorrendo as linhas
        while (linhaIterator.hasNext()) {

            // instanciando objeto tipo pessoa
            Pessoa pessoa = new Pessoa();

            Row linha = linhaIterator.next();

            // percorre todas as celulas da linha
            Iterator<Cell> celulaIterator = linha.cellIterator();

            // fazendo a iteração, percorrendo as celulas da linha
            while (celulaIterator.hasNext()) {

                Cell celula = celulaIterator.next();

                // capturando o indice das celulas
                switch (celula.getColumnIndex()) {

                    // ação para cada indice escolhido
                    case 1:

                        pessoa.setNome(celula.getStringCellValue());
                        break;

                    case 7:

                        pessoa.setCpf(celula.getStringCellValue());
                        break;

                }
            }
            listaPessoas.add(pessoa);
        }

        for (Pessoa lista : listaPessoas) {
            System.out.println("Nome:" + lista.getNome() + " CPF: " + lista.getCpf());
        }

    } catch (FileNotFoundException ex) {
        Logger.getLogger(capturaDadosXls.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(capturaDadosXls.class.getName()).log(Level.SEVERE, null, ex);
    }

}

}

Você pode tratar da seguinte forma:

if (celula.getStringCellValue().isEmpty()) {
    //Mensagem de célula vazia
}

Ta… mais se for um campo numerico?? da mesma forma??

Pra resolver de uma maneira mais fácil, o correto seria você criar uma variável do tipo string, recuperar os valores das células para a variável (Convertendo) e testar!

1 curtida