I Apache POI 3.11 Version zum Lesen verwenden und in JavaGet Format von Datum für Datumsspalte in Excel
In meinem Input Excel-Datei eine Excel-Datei zu schreiben, habe ich eine Spalte, das Datum enthält. Das Datum kann ein beliebiges Format haben, wie zB TT/MM/JJJJ hh: mm oder JJ/MM/TT usw. Während ich die Datei lese, kann ich ein Datum in jedem Format bekommen.
Wenn ich die neue Datei als Ausgabe Excel erschaffe, möchte ich Datumsspalte schreiben. Aber ich möchte das gleiche Format des Datums verwenden, das in der Eingabe-Excel-Datei vorhanden war.
Gibt es eine Möglichkeit, durch die ich in der Eingabe das Datumsformat heraus kann Excel-Datei (Above Screenshot Sie das Datum in mm/tt/hh war sehen: mm: ss PM-Format)
Ich möchte nicht ***getCellStyle***
Funktion verwenden, weil es mir den vollständigen Stil der Zelle einschließlich der Schriftfarbe, Hintergrundfarbe usw. zurückgibt. Ich möchte nur das Datum Format Informationen einer Zelle, die in der Eingabe Excel-Datei vorhanden war.
Way Ich versuche:
CellStyle outputStyle = wb.createCellStyle();
Font textFont = wb.createFont();
textFont.setFontName("Arial");
textFont.setFontHeightInPoints((short) 10);
textFont.setColor(IndexedColors.BLACK.getIndex());
.setFont(textFont);
if (DateUtil.isCellDateFormatted(icell)) {
outputStyle.setDataFormat(icell.getCellStyle().getDataFormat());
ocell.setCellValue(icell.getDateCellValue());
}
ocell.setCellStyle(outputStyle);
Es wird den Wert von Datum in der Zelle als Zahl zu schreiben.
Es hat nicht funktioniert. Das Datum wird immer noch als numerischer Wert geschrieben. –
Schreiben Sie den Wert als "Date"? Könnten Sie in Ihre Frage zumindest schreiben, wie Sie schreiben und wie Sie die Datumszellen schreiben? – DVarga
Ja Ich schreibe als Date-Typ von Wert. CellStyle outputStyle = wb.createCellStyle(); Schriftart textFont = wb.createFont(); textFont.setFontName ("Arial"); textFont.setFontHeightInPoints ((kurz) 10); textFont.setColor (IndexedColors.BLACK.getIndex()); .setFont (TextFont); \t \t \t \t if (DateUtil.isCellDateFormatted (Icell)) { outputStyle.setDataFormat (icell.getCellStyle() getDataFormat().); ocell.setCellValue (icell.getDateCellValue()); } ocell.setCellStyle (outputStyle); –