0

こんにちは皆さん、日付値をアップロードしたときにセル値が日付にフォーマットされているかどうかを検出する方法に問題があります。このコードを使用します

$data = $objWorksheet->getCellByColumnAndRow($col, $row);

セル値が日付にフォーマットされている$data = 27474場合、値がそうでない場合$data = 12/2/1983 、このコードを使用して日付をフォーマットします

if(PHPExcel_Shared_Date::isDateTime($data)){
           $cellValue = $objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
           $dateValue = PHPExcel_Shared_Date::ExcelToPHP($cellValue);                        
           $dob =  date('Y-m-d',$dateValue);    
    }                               

さて、問題は、$data日付にフォーマットされている場合、このコードは問題ありませんが、フォーマットされ$dataていない場合、値$data = 2036-02-18は間違った値です

誰でもこの問題を解決する方法を教えてもらえますか よろしくお願いします

4

3 に答える 3

3

これを試してください、これはうまくいくはずです、

if(PHPExcel_Shared_Date::isDateTime($data)){
   $cellValue = $objWorksheet->getCellByColumnAndRow($col, $row);
   $InvDate= $cellValue->getValue();

   if(PHPExcel_Shared_Date::isDateTime($cell)) {
   $InvDate = date($format, PHPExcel_Shared_Date::ExcelToPHP($InvDate)); 
}  
}  
于 2015-02-12T09:40:14.273 に答える