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

举报
黄啊码 发表于 2022/06/28 23:46:34 2022/06/28
【摘要】 $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); foreach ($list as $key => $value) { foreach ($field as $k =>...

  
  1. $spreadsheet = new Spreadsheet();
  2. $sheet = $spreadsheet->getActiveSheet();
  3. foreach ($list as $key => $value) {
  4. foreach ($field as $k => $v) {
  5. if ($key == 0) {
  6. $sheet->setCellValue($k . '1', $v[1]);
  7. }
  8. $i = $key + 2; //表格是从2开始的
  9. $sheet->setCellValue($k . $i, $value[$v[0]]);
  10. }
  11. }
  12. ob_clean();
  13. header("Content-type:application/vnd.ms-excel;charset=UTF-8");
  14. header('Content-Type: application/vnd.ms-excel');
  15. header('Content-Disposition: attachment;filename="'.$title.'.excel"');
  16. header('Cache-Control: max-age=0');
  17. $writer = new Csv($spreadsheet);
  18. $writer->save('php://output');

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

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

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

文章来源: markwcm.blog.csdn.net,作者:黄啊码,版权归原作者所有,如需转载,请联系作者。

原文链接:markwcm.blog.csdn.net/article/details/121655737

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。