Получить значение из листа 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". Преобразование должно быть довольно легко оттуда.

Другие вопросы по тегам