【黄啊码】PhpSpreadsheet导出excel乱码解决办法,超级简单

December 17, 2023
测试
测试
测试
测试
2 分钟阅读
$spreadsheet = new Spreadsheet();
        $sheet = $spreadsheet->getActiveSheet();
        foreach ($list as $key => $value) {
            foreach ($field as $k => $v) {
                if ($key == 0) {
                    $sheet->setCellValue($k . '1', $v[1]);
                }
                $i = $key + 2; //表格是从2开始的
                $sheet->setCellValue($k . $i, $value[$v[0]]);
            }
        }
ob_clean();
header("Content-type:application/vnd.ms-excel;charset=UTF-8");
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$title.'.excel"');
header('Cache-Control: max-age=0');
$writer = new Csv($spreadsheet);
$writer->save('php://output');

这代码看上去好像毫无问题,然而导出csv就是乱码,但是xls/xlsx就没问题

网上的网友说得天花乱坠,有一些网友知道是bom头导致的,就干脆自己写一个,但能少写代码不香吗?

最终能解决办法的只有一个,设置bom头。把这里的false改为true,这个方法放在导出csv文件一样通用

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多