PHPExcel-Problem beim Lesen des Datumsfeldes aus der Excel-Datei

8

Ich habe ein Problem mit der PHPExcel-Klasse, während ich diese Klasse benutze, um eine Excel-Datei in meinem PHP-Code zu lesen.

%Vor%

Ich verwende diesen Code, jetzt Problem ist, dass, wenn ich eine Excel-Datei erstellen und einen Zellwert wie ein Datum sagen 01/09/2012

einfügen

und liest das vollständige excelsheet mit der Funktion toarray () der PHPExcel-Klasse, dann gibt es den Datumswert nicht zurück. Es gibt einen numerischen Wert zurück.

Was ich herausgefunden habe, wenn wir die Excel-Datei mit der MS OFfice-Anwendung erstellen und ein Datum in eine beliebige Zelle einfügen, konvertiert Excel die Zelle in ein Datumsformat. So, jetzt möchte ich eine Datumsformat Zelle mit der PHPExcel Klasse lesen.

    
Ram 12.09.2012, 18:20
quelle

1 Antwort

10

Regel eins:

Es ist keine gute Idee $ objReader- & gt; setReadDataOnly (true) zu setzen; wenn du mit Daten arbeiten wirst. Wenn Sie das tun, kann PHPExcel Ihnen nicht sagen, ob eine Zelle ein Datum oder eine Zahl enthält.

Regel zwei:

Diese Zahl ist ein Excel-Datumswert, wie er in Excel gespeichert ist. Die Excel numberFormat Mask wird dann verwendet, um diese Zahl in ein formatiertes "menschenlesbares" Datum zur Anzeigezeit umzuwandeln. (Wenn Sie $ objReader- & gt; setReadDataOnly (true) verwendet haben), haben Sie die numberFormat-Maske der Zelle nicht geladen. Wenn Sie die numberFormat-Masken geladen haben, können Sie mit der Methode getFormattedValue () das formatierte "menschenlesbare" Datum als Zeichenfolge zurückgeben.

Regel drei:

Um einen numerischen Excel-Datumswert in einen Unix-Datums- / Zeitstempel oder in ein PHP-DateTime-Objekt zu konvertieren, können Sie die integrierten PHPExcel_Shared_Date :: ExcelToPHP () - oder PHPExcel_Shared_Date :: ExcelToPHPObject () -Methoden verwenden.

Regel vier:

All dies ist vollständig dokumentiert. Aber ich denke, ich werde ein spezielles Handbuch schreiben müssen, das den Daten gewidmet ist, mit dem Wort DATES in großen roten Buchstaben im Dateinamen.

    
Mark Baker 12.09.2012 20:02
quelle

Tags und Links