最近做导出功能,发现导出的文件名出现乱码
查阅资料发现,头部没有统一的编码,需要对不同的浏览器做兼容处理
在此记录一下,解决方法,可以参考一下
//修改下载导出的头部信息
function changeHeader($h,$filename) {
$h['Content-Disposition'] = 'attachment;filename="'.$filename.'.xlsx";filename*=utf-8\'\''.$filename.'.xlsx';
return $h;
}
laravel 中使用如下方式即可导出
return \Maatwebsite\Excel\Facades\Excel::create($filename, function ($excel) use ($header, $query)
{
$excel->sheet('文件1', function ($sheet) use ($header, $query)
{
$sheet->row(1, $header);
$sheet->row(1, function ($row)
{
$row->setFontWeight('bold');
});
$limit = 100;
$query->chunk($limit, function ($rows) use ($sheet, $header)
{
foreach ($rows as $row)
{
$data=[];
$sheet->appendRow($data);
}
});
});
})->download('xlsx',$h);