public function export($title, $cellData, $columnFormatArr = [])
{
ini_set('memory_limit', '500M');
set_time_limit(0);//设置超时限制为0分钟
Excel::create($title, function ($excel) use ($cellData, $columnFormatArr) {
$excel->sheet('detail', function ($sheet) use ($cellData, $columnFormatArr) {
$sheet->setColumnFormat($columnFormatArr);
$sheet->rows($cellData);
});
})->export('xls');
die;
}
// 变更指定事件列的日期格式 $columnFormatArr = [ 'A' => 'yyyy-mm-dd', 'B' => 'yyyy-mm-dd' ]
注意:只这样设置是不够的,会显示成字符串导致筛选的时候进行的是字符串筛选,需要手动点击后回车或者分列或者复制到文本文件之后回贴才会生效
还要做一步:
excel的日期其实是距离1900年1月1号的天数的数值型
用原始excel的方案来处理,将真实日期转换成距离1900年1月1号的天数之后再写进去就会自动转换成日期格式
数值类型过长的时候会直接变成科学计数法,可以手动后面拼接一个"\t"