Получить значение из листа Excel в качестве даты в переполнении стека

Я использую 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

0

Решение

В поле «Дата» в Excel указано «Количество дней с 0 января 1900 года», где в качестве времени в PHP указано «Количество секунд с 01 января 1970 года 00:00». Преобразование должно быть довольно легко оттуда.

0

Другие решения

Используйте эту функцию подробно здесь https://phpexcel.codeplex.com/discussions/219301

$PHPDate = PHPExcel_Shared_Date::ExcelToPHP($cell);
echo date("Y-m-d", $PHPDate);
0

По вопросам рекламы [email protected]