Dit is vrijwel identiek aan een aantal andere vragen hier, zoals decimaal teruggeven in plaats van string (POI jar)
Het antwoord is hetzelfde als de een die ik hier heb gegeven :
POI geeft u de exacte waarde die Excel heeft opgeslagen in het bestand. Als u een getal in een Excel-cel schrijft, slaat Excel dat over het algemeen op als een getal met opmaak. POI biedt ondersteuning om die opmaak voor je te doen als je dat wilt (de meeste mensen niet - ze willen de nummers als nummers zodat ze ze kunnen gebruiken)
De klasse die je zoekt is DataFormatter . Je code zou zoiets zijn als
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) );
}
}