今日需要导出一个excel,用的是 excel2007 格式,代码如下
$filename = "user_list.xlsx";
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'. $filename .'"');
header('Cache-Control: max-age=1');
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
但是,每次打开都是报错,如下图:

解决方法:
在输出Excel前,缓冲区中处理BOM头
ob_end_clean();
ob_start();
在使用PHP生成Excel2007格式文件时遇到打开错误,问题在于缺少对BOM头的处理。为解决此问题,需要在输出Excel前清理并启动缓冲区,添加`ob_end_clean();ob_start();`这两行代码,确保正确处理BOM头信息,从而避免打开错误。
&spm=1001.2101.3001.5002&articleId=130720572&d=1&t=3&u=a94d36ccc216466e93a32a8b21da168c)
4万+

被折叠的 条评论
为什么被折叠?



