最近在做phpexcel導入表格資料的問題,如果在excel表格上的單元格格式存的是時間格式,正常讀取出來的時候會是一個數字字符串,所有要用這個函數才能解析到正確的時間格式:
for($rowIndex=2;$rowIndex<=$allRow;$rowIndex++){ //循環讀取每個單元格的內容。注意行從1開始,列從A開始 for($colIndex='A';$colIndex!=$allColumn;$colIndex++){ $addr = $colIndex.$rowIndex; $cell = $currentSheet->getCell($addr)->getValue();//先讀出數據在看數據是否是純數字 是的話就得轉換 if($colIndex=='C' || $colIndex=='D'){ if(preg_match('/^\d*$/',$cell)){ $cell=gmdate("Y-m-d",\PHPExcel_Shared_Date::ExcelToPHP( $cell )); //得到對應的格式 } } if($cell instanceof PHPExcel_RichText){ //富文本轉換字符串 $cell = $cell->__toString(); } $data[$rowIndex][$colIndex] = (string)$cell;//強制類型轉換
PHPExcel_Shared_Date::ExcelToPHP( $cell )