Data do campo excel [RESOLVIDO]

4 respostas
P

Pessoal…

Meu sistema pega valores de uma planilha e insere no BD… api JXL… e tem um campo data que faço uma verificação… só que se tiver o campo com texto, ou algo que não seja a data ele da erro no sistema, e para na metade… no servlet…

minha validação de data está assim:

case DATA_ATIVACAO: TimeZone gmtZone = TimeZone.getTimeZone("GMT"); SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); format.setTimeZone(gmtZone); if (celula.getContents() != null && celula.getContents() != "") { DateCell dataCell = (DateCell) celula; String dataFormatada = format.format(dataCell.getDate()); linhaTelecom.setDtAtivacao(transformaData(dataFormatada)); } else { linhaTelecom.setDtAtivacao(null); } break;

4 Respostas

fabiocortolan

Usa um bloco try catch e trata a excessão conforme sua necessidade.

P

como faria isso dentro do case??

tenho um método que acrescenta a quantidade de erro… se eu colocasse isso na exceção funcionaria?

fabiocortolan
case DATA_ATIVACAO:
    TimeZone gmtZone = TimeZone.getTimeZone("GMT");  

    SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");  
    format.setTimeZone(gmtZone);  
    
    if (celula.getContents() != null && celula.getContents() != "") {
        // vc pode iniciar o try onde precisar controlar a exception
        try {  
            DateCell dataCell = (DateCell) celula;  
            String dataFormatada = format.format(dataCell.getDate());  
            linhaTelecom.setDtAtivacao(transformaData(dataFormatada));  
        } catch (Exception ex) { // aqui coloquei o tipo Exception mas aconselho a colocar o tipo de excessão correta lançada pelo método
            // Trate a excessão aki, e respondendo sua última pergunta, sim vc pode tratar a quantidade de erros aki.
        }
    } else {  
        linhaTelecom.setDtAtivacao(null);  
    }  

    break;
P

Valeu Fabio…

Consegui fazer desse jeito… criei um boolean para caso a data esteja errada ai antes de continuar com as verificações do meu sistema já verifico a data…

try{ dataErrada = false; DateCell dataCell = (DateCell) celula; String dataFormatada = format.format(dataCell.getDate()); linhaTelecom.setDtAtivacao(transformaData(dataFormatada)); } catch (Exception e){ dataErrada = true; }

Obrigado

Criado 26 de junho de 2013
Ultima resposta 27 de jun. de 2013
Respostas 4
Participantes 2