首頁 >後端開發 >php教程 >使用phpexcel导出excel乱码,该如何处理

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

WBOY
WBOY原創
2016-06-13 12:01:111011瀏覽

使用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 文件放到网盘上

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn