PhpExcel默认导出时间也是按普通文字来显示,不是日期格式,使用下面代码即可解决问题
$spreadsheet->getActiveSheet()->getStyle(strtoupper(chr($i)) . ($key + 2))->getNumberFormat()->setFormatCode('yyyy/m/d;@'); $spreadsheet->getActiveSheet()->setCellValue(strtoupper(chr($i)) . ($key + 2),PhpOfficePhpSpreadsheetSharedDate::stringToExcel($item[$keys[$i - 65]]));
两句代码缺一不可,必须都要
strtoupper(chr($i)) . ($key + 2)表示的是坐标,比如B2,A1这种,因为之前代码是for循环,所以这样写,可以按照自己需求修改