尝试通过PHP将excel上传到我的数据库时遇到问题。
我在excel中的格式是dd / mm / yyyy,我的sql需要yyyy / mm / dd
$_DATOS_EXCEL[$i]['ship_day']= $objPHPExcel->getActiveSheet()- >getCell($headings['Ship Date'].$i)->getFormattedValue();
我试过了 getFormattedValue(' YYYY / MM / DD&#39);
但不起作用
如果你能帮助我,我真的很感激。
答案 0 :(得分:0)
如果您的单元格值确实是Excel序列化日期/时间值,并且您知道哪些单元格包含这些日期,那么您可以将其直接转换为PHP DateTime对象
$dto = PHPExcel_Shared_Date::ExcelToPHPObject(
$objPHPExcel->getActiveSheet()
->getCell($headings['Ship Date'].$i)
->getValue()
);
$_DATOS_EXCEL[$i]['ship_day'] = $dto->format('Y/m/d');
或Unix时间戳
$unixTimestamp = PHPExcel_Shared_Date::ExcelToPHP(
$objPHPExcel->getActiveSheet()
->getCell($headings['Ship Date'].$i)
->getValue()
);
$_DATOS_EXCEL[$i]['ship_day'] = date('Y/m/d', $unixTimestamp);
答案 1 :(得分:0)
在
之后添加三行"$_DATOS_EXCEL[$i]['ship_day']= $objPHPExcel->getActiveSheet()- >getCell($headings['Ship Date'].$i)->getFormattedValue();"
这条线......
$rearrange=$_DATOS_EXCEL[$i]['ship_day'];
$explode = explode("/",$rearrange);
$_DATOS_EXCEL[$i]['ship_day']= $explode[2]."/".$explode[1]."/".$explode[0];