Home >Backend Development >PHP Tutorial >使用phpexcel导出excel乱码,该如何处理

使用phpexcel导出excel乱码,该如何处理

WBOY
WBOYOriginal
2016-06-13 12:01:111011browse

使用phpexcel导出excel乱码
数据库和页面都是utf8。
  header('Content-Type: application/vnd.ms-excel;');
header('Content-Disposition: attachment;filename='.$filename.'.xls');
header('Cache-Control: max-age=0');
   $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  $objWriter->save('php://output');  //
导出后,打开execel是乱码的。
本地window下导出的话没问题,上传到服务器上导出,就是乱码。
直接var_dump($objWreter)到页面,发现不会乱码。
  header('Content-Type: application/vnd.ms-excel;charset=gb2312')也还是乱码;
这个乱码是什么问题
------解决方案--------------------
在header() 前面加上ob_end_clean() 函数, 清除缓冲区, 这样就不会乱码了!
ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
.....
.....
------解决方案--------------------
$objWriter->save('php://output'); 输出的是二进制文档流,就和图片一样不存在字符集的问题
用 excel 打开是出现乱码,是因为文件中含有不能被他识别的内容
这多半是包含了 php 的错误信息
你可以截个图贴上来看看,也可以以把 xls 文件放到网盘上

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn