sql >> Database teknologi >  >> RDS >> Oracle

POI tilføjer .0 under læsning af numeriske data fra excel

Dette er stort set identisk med en række andre spørgsmål her, såsom returnerende decimal i stedet for streng (POI-krukke)

Svaret er det samme som en jeg gav her :

POI giver dig den nøjagtige værdi, som Excel har gemt i filen. Generelt, hvis du skriver et tal i en Excel-celle, gemmer Excel det som et tal med formatering. POI giver support til at udføre den formatering for dig, hvis du vil have det (de fleste mennesker gør det ikke - de vil have tallene som tal, så de kan bruge dem)

Den klasse, du leder efter, er DataFormatter . Din kode ville være noget lignende

 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) );
    }
 }


  1. Oracle tidsstempel til sql server DateTime

  2. Beregning af den vægtede gennemsnitlige pris for produkternes lager

  3. Sammenlign arrays for lighed, ignorer rækkefølgen af ​​elementer

  4. LAST_INSERT_ID() MySQL