當excel表格單元格的格式是日期格式非文本格式的時候,phpexcel 應該要這樣處理(thinkphp3.2)

最近在做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 )

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章