Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

POI Anexando 0,0 ao ler dados numéricos do Excel


Isso é praticamente idêntico a várias outras perguntas aqui, como retornando decimal em vez de string (POI jar)

A resposta é a mesma do um que dei aqui :

POI está fornecendo o valor exato que o Excel armazenou no arquivo. Geralmente, se você escrever um número em uma célula do Excel, o Excel armazenará isso como um número com formatação. POI fornece suporte para fazer essa formatação para você, se você quiser (a maioria das pessoas não - eles querem os números como números para que possam usá-los)

A classe que você está procurando é DataFormatter . Seu código seria algo como
 DataFormatter fmt = new DataFormatter();
 for (Row r : sheet) {
    for (Cell c : r) {
       CellReference cr = new CellRefence(c);
       System.out.println("Cell " + cr.formatAsString() + " is " + 
                          fmt.formatCellValue(c) );
    }
 }