|
php code
$fileName .= ".xls";
$fileName = iconv("utf-8", "gb2312", $fileName);
//重命名表
$objPHPExcel->getActiveSheet()->setTitle($bookname);
//设置活动单指数到第一个表,所以Excel打开这是第一个表
$objPHPExcel->setActiveSheetIndex(0);
//将输出重定向到一个客户端web浏览器(Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header("Content-Disposition: attachment; filename=\"$fileName\"");
header('Cache-Control: max-age=0');
$objWriter = IOFactory::createWriter($objPHPExcel,'Excel5');
ob_end_clean() ;//清除缓存
$objWriter->save('php://output'); //文件通过浏览器下载
exit;
之前一直无法解决phpExecl导出后乱码的问题,后来在代码中加上ob_end_clean() ;后下载Excel文件还是报错,不过是报这个错
falied to delete buffer zlib output compression
最后我去看了php.ini的配置
修改一下两个配置
zlib.output_compression = Off;//改成off
;zlib.output_compression_level = -1;//在前面加上一个分号;
然后重启phpstudy服务
此时便可正常打开Excel文件
|
|