Я использую 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
В поле «Дата» в Excel указано «Количество дней с 0 января 1900 года», где в качестве времени в PHP указано «Количество секунд с 01 января 1970 года 00:00». Преобразование должно быть довольно легко оттуда.
Используйте эту функцию подробно здесь https://phpexcel.codeplex.com/discussions/219301
$PHPDate = PHPExcel_Shared_Date::ExcelToPHP($cell);
echo date("Y-m-d", $PHPDate);