Detta är praktiskt taget identiskt med ett antal andra frågor här, såsom returerande decimal istället för sträng (POI-jar)
Svaret är detsamma som en jag gav här :
POI ger dig det exakta värdet som Excel har lagrat i filen. I allmänhet, om du skriver ett tal i en Excel-cell, kommer Excel att lagra det som ett tal med formatering. POI ger stöd för att göra den formateringen åt dig om du vill ha det (de flesta människor gör det inte - de vill ha siffrorna som siffror så att de kan använda dem)
Klassen du letar efter är DataFormatter . Din kod skulle vara ungefär som
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) );
}
}