Mit PHPExcel, ich versuche, Daten aus Excel-Datei zu holen und es in MySQL-Datenbank mit dem folgenden Code speichern:PHPExcel Bibliothek get Datum
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
$i=0;
$arr =array("","","","","","","");
for ($row = 1; $row <= $highestRow; $row++)
{
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
foreach($rowData[0] as $k=>$v)
{
if(PHPExcel_Shared_Date::isDateTime($v))
{
$arr[$i] = date('Y-m-d', PHPExcel_Shared_Date::ExcelToPHP($InvDate));
}
else
$arr[$i] = $v;
$i++;
}
Dieser Code gibt folgende Fehlermeldung:
Catchable fatal error: Argument 1 passed to PHPExcel_Shared_Date::isDateTime() must be an instance of PHPExcel_Cell, double given, called in ............
Wenn ich Spalten wie folgt lese:
Die Datumsspalten werden als normaler Text gelesen, selbst wenn ich Zellformatierung einstelle bis heute in Excel. Insgesamt habe ich 3 Datumsspalten in jedem Datensatz meiner Excel-Datei, die entweder ein Datum haben oder leer sein wird.
Die Datumsspalte von Excel hat Datumsangaben im Format: d-m-Y. Ich möchte, dass es im Format "Y-m-d" abgerufen wird, wenn es möglich ist, andernfalls muss ich es explodieren und es manuell konvertieren. Das Datum wird schließlich in der mysql Datumsspalte gespeichert.
Ich habe mehrere Artikel bei stackoverflow gelesen, konnte aber keine perfekte Lösung finden.
Können Sie var_dump ($ rowData); nachdem du es bekommen hast? – user4035