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