Dies ist praktisch identisch mit einer Reihe anderer Fragen hier, wie z. jar">Rückgabe einer Dezimalzahl anstelle einer Zeichenfolge (POI-Jar)
Die Antwort ist dieselbe wie bei eine, die ich hier gegeben habe :
POI gibt Ihnen genau den Wert, den Excel in der Datei gespeichert hat. Wenn Sie eine Zahl in eine Excel-Zelle schreiben, speichert Excel diese im Allgemeinen als Zahl mit Formatierung. POI bietet Unterstützung, um diese Formatierung für Sie vorzunehmen, wenn Sie dies wünschen (die meisten Leute tun dies nicht - sie wollen die Zahlen als Zahlen, damit sie sie verwenden können)
Die gesuchte Klasse ist DataFormatter . Ihr Code wäre so etwas wie
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) );
}
}