Получить значение из листа Excel в качестве даты в PHP
Я использую PhpExcelReader--
включите "excel_reader.php"; // включить класс
// creates an object instance of the class, and read the excel file data
$excel = new PhpExcelReader;
Чтение данных и вызов функции--
$excel->read('test.xls');
sheetData($excel->sheets[0]);
Код функции--
function sheetData($sheet)
{
while($x <= $sheet['numRows'])
{
if(@$sheet['cells'][$x][1])
{
while($y <= $sheet['numCols'])
{
$cell = isset($sheet['cells'][$x][$y]) ? $sheet['cells'][$x][$y] : '';
echo $cell = @date($cell)."<br/>";
}
}
}
}
Он показывает только цифры, такие как 36400
И после этого я попробовал
echo $cell = @date("Y-m-d",$cell)."<br/>";
Но он показывает значение по умолчанию, как 1970-01-01
Но мои данные 2004-05-12
2 ответа
Используйте эту функцию подробно здесь https://phpexcel.codeplex.com/discussions/219301
$PHPDate = PHPExcel_Shared_Date::ExcelToPHP($cell);
echo date("Y-m-d", $PHPDate);
В поле "Дата" в Excel указано "Количество дней с 0 января 1900 года", где в качестве времени в PHP указано "Количество секунд с 0 1 января 1970 года 00:00". Преобразование должно быть довольно легко оттуда.