laravel 导出文件乱码解决

最近做导出功能,发现导出的文件名出现乱码

查阅资料发现,头部没有统一的编码,需要对不同的浏览器做兼容处理

在此记录一下,解决方法,可以参考一下

 

//修改下载导出的头部信息
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);

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RenBingo

一点一滴源于你的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值