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();