PHPExcel导出表格是日常程序开发很常见的一功能,有些小伙伴千辛万苦把代码写好之后,运行一下结果发现浏览器没反应,表格下载不了或者表格乱码!!!像这种情况有三种解决方法:

1、在header 之前 加上 ob_end_clean() 清除缓冲区,避免乱码。

2、就是你的header 编码模式没有弄好;我推荐一个给大家:

 

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8');

 

3、还有一种情况,那就是上面都写了,但是浏览器调试器响应是乱码,哈哈哈。。。小伙,你是不是AJAX请求???是的话赶紧改成浏览器直接访问,我就是这情况,对PHPExcel不是很熟,转死角去了。

如果以上都解决不了,那我就爱莫能助了。如果你还知道其他的解决方式。。。请给我留言,我补充补充。。。谢谢!!!

最后献上PHPExcel导出下载表格最后的几行代码。。。

ob_end_clean();//清除缓冲区,避免乱码
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8');
        header("Pragma: public");
        header("Expires: 0");
        header("Access-Control-Allow-Origin:*");
        header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
        header("Content-Type:application/force-download");
        header("Content-Type:application/octet-stream");
        header("Content-Type:application/download");
        header('Content-Disposition: attachment;filename="'.time().'".xls"');
        header('Cache-Control: max-age=0');
        $objWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel2007');
        $objWriter->save('php://output');
        exit();

 

版权声明:本文为fqyb原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fqyb/p/9356104.html