使用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,
答案 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])));