PHPExcel Reader日期格式问题 - rangeToArray

时间:2013-09-18 09:00:06

标签: php excel date

使用PHPExcel读取excel时遇到日期格式问题。 即使我使用$objReader->setReadDataOnly(false);获取单元格格式但不适合我。 这是我如何从Excel中读取数据。

$get_excel_data = $objPHPExcel->getActiveSheet()->rangeToArray("A1:".$highestColumn.$highestRow);

当我尝试打印日期时,它显示为03/06/13,并且我尝试使用

转换为mysl日期格式
date('Y-m-d',PHPExcel_Shared_Date::ExcelToPHP($val[1])); // echoing 2036-03-06

但它不起作用,任何人都可以指导我解决这个问题吗?主要问题是我没有将日期作为数字格式(Excel),而不是将日期显示为03/06/13,

2 个答案:

答案 0 :(得分:12)

我已解决了日期问题

$get_excel_data = $objPHPExcel->getActiveSheet()->rangeToArray("A1:".$highestColumn.$highestRow);           
$i = 1; 
foreach($get_excel_data as $val) {
        // in my case 2nd column will be date so that I can get the format by
    $date = date('Y-m-d',PHPExcel_Shared_Date::ExcelToPHP($objWorksheet->getCellByColumnAndRow(1, $i)->getValue()));  // array index 1              
   }                

答案 1 :(得分:1)

如果PHPExcel_Shared_Date::ExcelToPHP($val[1]);返回03/06/13,那么这应该有效:

$date = new DateTime(PHPExcel_Shared_Date::ExcelToPHP($val[1]));
echo $date->format('Y-m-d');

echo date('Y-m-d', strtotime(PHPExcel_Shared_Date::ExcelToPHP($val[1])));