Holen Sie das Datum aus Excel-Blatt mit den POI
Ich haben, Holen Sie das Datum aus excel-Blatt mit den POI mit dem code unten,
if (DateUtil.isCellDateFormatted(currentCell))
{
Date date = currentCell.getDateCellValue();
cellValue = date.getDate() + "/" + (date.getMonth() + 1) + "/" + (1900 + date.getYear());
}
Standardmäßig das Datumsformat von excel-Blatt ist MM/dd/yy. Aber wenn ich den Wert für Monat größer als 12 (ich.e >= 13), das format wird geändert, um dd/MM/yy.
Durch den oben genannten code,Wenn ich das Datum als 10/11/2010, es gibt Monat 10 und das Datum als 11. Wenn ich es wie am 15.10.2010, bekam ich Monat 10 und das Datum 15.
Aber ich halten müssen, um das eine format ist TT/MM/JJJJ. Wie kann ich das erreichen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
"=SimpleDateFormat verwenden, um das Datum zu formatieren, weil "currentCell.getDateCellValue()) gibt ein Datums.
Dieser soll verhindern, dass die automatische Umwandlung stattfindet.
Könnten Sie vielleicht versuchen, mit org.apache.poi.ss.usermodel.DataFormatter - vorausgesetzt, Sie würde legen Sie Ihre Excel-Datei bis zum formatieren der Zelle als Datum dd/mm/yyyy, dann sollte es in der Lage sein zu machen, es für Sie aus der Zelle.
Abwechselnd, wenn Ihrer Zelle ist formatiert wie ein Datum, aber in einem anderen format, dann haben Sie zwei Möglichkeiten. Eine änderung der Formatvorlage für die Zelle, um einen dd/mm/yyyy format und dann Fragen DataFormatter zu formatieren, die andere ist, um die java.util.Date-Objekt aus DateUtil und dann formatieren Sie es mit einem " = SimpleDateFormat format wie andere vorgeschlagen haben.
Sicherzustellen, dass das Feld in Excel selbst ist so konfiguriert, dass als DATE-Datentyp in Excel. Dann das tatsächliche format in Excel sollte irrelevant sein, wie POI, der es liest.