用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1439|回复: 0
收起左侧

[上传/下载] 纪念解决phpExecl导出乱码的问题

[复制链接]
发表于 2017-8-1 17:13:43 | 显示全部楼层 |阅读模式
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文件

本版积分规则