转换方法
public function excel_date($date){
if(strpos($date,"-")){
return strtotime($date);
}else{
return intval(($date- 25569) * 3600 * 24);
}
}
使用示例
public function excel_add(){
$file=request()->file('file');
$save_path = ROOT_PATH . '/public/excel/' . 'sphd';
$info = $file->move($save_path);
$filename=$save_path . DIRECTORY_SEPARATOR . $info->getSaveName();
if(file_exists($filename)) {
vendor("Classes.PHPExcel");
if(strstr($filename,'.xlsx')){
$PHPReader = new \PHPExcel_Reader_Excel2007();
}else{
$PHPReader = new \PHPExcel_Reader_Excel5();
}
//载入excel文件
$PHPExcel = $PHPReader->load($filename);
$sheet = $PHPExcel->getActiveSheet(0);//获得excel内容
$highestRow = $sheet->getHighestRow(); // 取得共有数据数
$data=$sheet->toArray();
$i=1;
for($i;$i<$highestRow;$i++){
// 第二行转换方式
$date_hd=$this->excel_date($data[$i][2]);
// 第一行转换方式
$date_hd=date('Y-m-d',strtotime($data[$i][2]));
var_dump($date_hd);
}
return ['code'=>200,'msg'=>$msg];
}else{
return ['code'=>200,'msg'=>'未上传文件'];
}
}
导入excel示例
注释:第一行是自定义数据类型,第二行是文本类型(日期转文本后会展现为数字)