Datum in Excel Tabelle eintragen

redbomber

Bekanntes Mitglied
Hallo zusammen,

ich verwende die externe Bibliothek org.apache.poi (poi 3.7) um Daten in eine Excel Tabelle zu schreiben.

Das alles funktioniert einwandfrei, allerdings habe ich das Problem mit Zellen, die das Datum (dd/MM/yyyy HH:mm) enthalten.

Die Werte in den Zellen werden nicht als Datum erkannt, erst wenn ich in Exel in die Zelle klicke und Enter drücke, dann wird die Zelle als Wert mit korrektem Datum erkannt.

Was muss ich nun also beachten wenn ich ein solches Excel-File erstelle. Wie bekomme ich es hin dass meine Spalte mit dem Datum von Excel auch als Datum erkannt wird?
 

Spewer

Aktives Mitglied
Java:
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("mm/dd/yyyy HH:mm"));

Mal so aus dem Kopf. Weiß nicht ob dir das weiterhilft.
 

redbomber

Bekanntes Mitglied
Hi,
vielen Dank. Habe versucht den CellStyle der Zellen der Datums-Spalte entsprechend zu definieren wie du es vorgeschlagen hast.
Die Spalte wird jetzt zwar anders formatiert ausgegeben, aber leider noch immer nicht als Datum erkannt. Hast du vielleicht noch eine Idee?
 

redbomber

Bekanntes Mitglied
vielen Dank für den hilfreichen Link!

also ich habe es genauso implementiert:
Java:
    Workbook wb = new HSSFWorkbook();
    //Workbook wb = new XSSFWorkbook();
    CreationHelper createHelper = wb.getCreationHelper();
    Sheet sheet = wb.createSheet("new sheet");

    // Create a row and put some cells in it. Rows are 0 based.
    Row row = sheet.createRow(0);

    // Create a cell and put a date value in it.  The first cell is not styled
    // as a date.
    Cell cell = row.createCell(0);
    cell.setCellValue(new Date());

    // we style the second cell as a date (and time).  It is important to
    // create a new cell style from the workbook otherwise you can end up
    // modifying the built in style and effecting not only this cell but other cells.
    CellStyle cellStyle = wb.createCellStyle();
    cellStyle.setDataFormat(
        createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
    cell = row.createCell(1);
    cell.setCellValue(new Date());
    cell.setCellStyle(cellStyle);

    //you can also set date as java.util.Calendar
    cell = row.createCell(2);
    cell.setCellValue(Calendar.getInstance());
    cell.setCellStyle(cellStyle);

    // Write the output to a file
    FileOutputStream fileOut = new FileOutputStream("workbook.xls");
    wb.write(fileOut);
    fileOut.close();

Ich habe doch noch immer folgendes Problem:
Der Wert wird in der Excel Tabelle korrekt angezeigt. Die Formatierung der Spalte in Excel ist jedoch auf "Benutzerdefiniert" gesetzt.
Wähle ich "Datum" aus, passiert nicht, d.h. der Inhalt der Zelle wird weiter nicht als Datum erkannt.
Wenn ich nun aber in die Zelle klicke und dann mit Enter bestätige, dann kann er den Inhalt der Zelle in ein gültiges Datum formatieren.

Nur kann ich das nicht für mehrere tausend Zellen machen.

Funktioniert das denn überhaupt was ich da vorhabe?
 
P

pappawinni

Gast
Naja.. versuch es halt vielleicht mal mit einer Datumsvariante wie sie bei dir unter den benutzer definierten Datumsvarianten von Excel auch zu finden ist.
Ich finde da bei mir sowas nicht "m/d/yy h:mm" .. eher sowas "TT.MM.JJJJ hh:mm" hängt vielleicht an der Ländereinstellung.
Wenn dann nachher die Umstellung in ein Datumsformat kein Problem wäre, dann wär das vielleicht wenigstens ein Teilerfolg, oder?

[EDIT]
es gäbe im Übrigen auch Möglichkeiten sowas in Excel automatisiert umzusetzen, z.B. Formeln oder VBA.
[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:

redbomber

Bekanntes Mitglied
Hi, vielen Dank für die Antwort.

Aber ich habe es so leider nicht hinbekommen. Also weder das direkte setzen des DataFormats einer Zelle, noch das Verwenden verschiedener Datum-Formate (yy.mm.dd ...) hat funktioniert.
Also in jedem Fall wurde zwar das Ergebnis korrekt in die Excel Tabelle geschrieben, aber die Spalte wurde von Excel nicht als Datum erkannt.

Wenn ich ehrlich bin glaube ich nicht dass dies überhaupt geht mit HSSF.

Egal, ich habe mein Problem jetzt wie folgt gelöst:

Ich verwende einen normalen BufferedWriter und schreiber tabulator getrennt die Werte in ein File, welches ich dann als *.xsl speichere.
Wenn ich diese dann mit Excel öffne, erhalte ich zwar eine Warnung dass die Tabelle nicht korrekt formatiert ist, aber sie werden dafür korrekt formatiert dargestellt und ich kann über die Spaltenformatiereung die Darstellung des Datum problemlos ändern.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
V Apache POI Excel Datum auslesen Allgemeine Java-Themen 6
C Datum in Excel auslesen Allgemeine Java-Themen 13
S Build-Zeitpunt (Datum und Uhrzeit) irgendwie während der Laufzeit zugänglich machen..? Allgemeine Java-Themen 4
T Datum OHNE Uhrzeit Zeitzonen-übergreifend Allgemeine Java-Themen 4
W Datum anzeigen Allgemeine Java-Themen 10
MiMa Datum von zweistelliger Jahreszahl auf 4 Stellen aufrüsten? Allgemeine Java-Themen 4
MiMa Datum von String zu LocalDateTime Allgemeine Java-Themen 8
MiMa Wie sollte am besten ein Datum gespeichert werden? Allgemeine Java-Themen 8
Thallius Wie parse ich dieses Datum richtig? Allgemeine Java-Themen 5
Hatsi09 Heutiges Datum Allgemeine Java-Themen 3
J Countdown für Datum und Uhrzeit Allgemeine Java-Themen 4
MiMa Das Datum Format ist mir unbekannt. Allgemeine Java-Themen 1
G Datum letzte 7 tage Allgemeine Java-Themen 6
A Datum und Uhrzeit in andere Zeitzone umrechnen Allgemeine Java-Themen 7
W Datum prüfen + zweistellig Allgemeine Java-Themen 11
M Datum Zeitdifferenz in Stunden umrechnen Allgemeine Java-Themen 4
E Datei anhand Datum identifizieren Allgemeine Java-Themen 3
Dechasa Java 8 - Datum vergleichen Allgemeine Java-Themen 5
M Datum umwandeln. Allgemeine Java-Themen 1
P Datum im gewünschten Bereich Allgemeine Java-Themen 21
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
Bluedaishi Dateien löschen die älter als das aktuelle Datum sind Allgemeine Java-Themen 9
Bluedaishi String Array mit Datum und Uhrzeit String sortieren Allgemeine Java-Themen 6
M Aktuelle Systemzeit und Datum abfragen Allgemeine Java-Themen 2
M datei aufruf datum auslesen Allgemeine Java-Themen 5
T auf Valides Datum prüfen Allgemeine Java-Themen 12
E Datum in Kw umrechen Allgemeine Java-Themen 3
E Datum in String Allgemeine Java-Themen 4
K Datum+Uhrzeit in Millisekunden (long) umwandeln Allgemeine Java-Themen 7
C jollyday: prüfen, ob Datum = Feiertag Allgemeine Java-Themen 8
F Tests mit dynamischem Datum Allgemeine Java-Themen 2
K Datum ermitteln Allgemeine Java-Themen 4
N Datum auf 00:00:00 Uhr normalisieren Allgemeine Java-Themen 3
A einzelne Tage als Datum ausgeben Allgemeine Java-Themen 6
S Datum vergleichen - ohne Hilfsmittel Allgemeine Java-Themen 8
T Aktuelles Datum auslesen Allgemeine Java-Themen 2
T Datum um ein Tag reduzieren Allgemeine Java-Themen 6
S log4j, Datum in Fileappendern formatieren Allgemeine Java-Themen 4
J Funktion zu einer Uhrzeit/datum ausführen Allgemeine Java-Themen 4
M Datum/Uhrzeit in ein Textfeld schreiben Allgemeine Java-Themen 28
L Gregorian Calender falsches Datum Allgemeine Java-Themen 2
0 Datum in Java Date umwandeln Allgemeine Java-Themen 4
S String-Array nach Datum sortieren Allgemeine Java-Themen 10
J Datum und Zeit Allgemeine Java-Themen 4
B Jfree Chart mit Datum und Uhrzeit Allgemeine Java-Themen 6
B Datum jetzt vor einer Woche Allgemeine Java-Themen 5
B warum zählt der Kalender das Datum nicht weiter Allgemeine Java-Themen 2
V Datum vergleichen Allgemeine Java-Themen 7
C Datum erstellen für SQL Format Date Allgemeine Java-Themen 3
C Datum zurücksetzen Allgemeine Java-Themen 9
A String zu Datum parsen - SimpleDateFormat Problem Allgemeine Java-Themen 8
G File.listFiles nach Datum sortiert ausgeben Allgemeine Java-Themen 1
A Datum parsen Allgemeine Java-Themen 9
G Datum vergleichen Allgemeine Java-Themen 5
C Datum addieren Allgemeine Java-Themen 2
G Timestamp aus Datum Allgemeine Java-Themen 4
B Herausfinden ob Datum existiert Allgemeine Java-Themen 2
H2SO3- string mithilfe von .matches als datum identifizieren Allgemeine Java-Themen 4
Z Datum ohne Format-Kenntnisse parsen Allgemeine Java-Themen 5
C ArrayList nach Datum sortieren Allgemeine Java-Themen 7
G Datum um 1 Monat verschoben Allgemeine Java-Themen 3
J Umwandeln von einem String in ein Datum Allgemeine Java-Themen 8
M Aus Anzahl Tagen Datum ermitteln Allgemeine Java-Themen 8
D Email versand bei einem festgelegten Datum Allgemeine Java-Themen 11
T Mit Datum und Zeit rechnen Allgemeine Java-Themen 8
D Datum korrekt erkennen Allgemeine Java-Themen 27
M Datum einlesen aus jTextField Allgemeine Java-Themen 2
M Zukünftiges Datum Allgemeine Java-Themen 3
G Listener auf aktuelles Datum / Uhrzeit Allgemeine Java-Themen 2
G JDK 1.5 und das Datum Allgemeine Java-Themen 7
V Datum parsen Allgemeine Java-Themen 6
V Datei kopieren und Datum erhalten Allgemeine Java-Themen 2
M Datei Handling mit Datum Allgemeine Java-Themen 2
M Datum in Tabelle formatiert ausgeben Allgemeine Java-Themen 3
S Datum einer Datei online? Allgemeine Java-Themen 6
G Anzahl an Tagen auf Datum addieren Allgemeine Java-Themen 4
G Datum im Format yyyy-mm-dd erstellen Allgemeine Java-Themen 1
P Datum in einer DateComboBox setzen Allgemeine Java-Themen 7
MQue Datum in ComboBox setzen Allgemeine Java-Themen 9
J [Aenderungszeit Datei] nur Datum vergleichen Allgemeine Java-Themen 3
G Anzahl Tage in Datum umwandeln Allgemeine Java-Themen 13
M Datum nicht richtig geprüft, warum? Allgemeine Java-Themen 9
L datum nach dem kopiervorgang neu setzen? Allgemeine Java-Themen 2
R Datum in *.txt suchen und ersetzen Allgemeine Java-Themen 2
H Ein zufälliges Datum innerhalb eines Intervalles erzeugen Allgemeine Java-Themen 3
S POI Datum Allgemeine Java-Themen 2
G Datum einer Datei Allgemeine Java-Themen 8
J Datum auf Gültigkeit überprüfen Allgemeine Java-Themen 4
TheJavaKid Datum -> long Allgemeine Java-Themen 9
M Führende Null in einem Datum Allgemeine Java-Themen 3
C Datum-/Zeitdifferenz Allgemeine Java-Themen 5
F Datum gültig ? Allgemeine Java-Themen 9
G Datum konvertieren Allgemeine Java-Themen 14
G mysql datum umwandeln mittels jsp Allgemeine Java-Themen 10
F Datum mit anzahl tagen berechnen Allgemeine Java-Themen 3
F Datum in GregorianCalendar Allgemeine Java-Themen 3
G Datum Allgemeine Java-Themen 4
T Datum testen und Einsetzten Allgemeine Java-Themen 5
K Datum in ein anderes Format bringen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben