I have xlsx
tables and I use PhpSpreadsheet to parse them. Some cells format is date. The problem is that PhpSpreadsheet returns the values from date-formatted
I hope my answer will complete for those who are lost with reading date. I also had an issue with a column containing dates. When I read in Excel all dates were at the format d/m/Y, but using PhpOffice\PhpSpreadsheet, some lines were read as d/m/Y and others as m/d/Y. Here is how I do:
First, I check the format with ->getDataType()
my default format is m/d/Y but when ->getDataType() returns 's' it becomes d/m/Y
$cellDataType = $objSheetData->getCell("D".$i)->getDataType();
$cellFormat = 'm/d/Y';
if ($cellDataType=='s'){
$cellFormat = 'd/m/Y';
}
$resultDate=\DateTime::createFromFormat($cellFormat, $sheetData[$i]['D']);
it works fine