>  기사  >  백엔드 개발  >  phpExcel输出xls文档显示乱码的解决方法

phpExcel输出xls文档显示乱码的解决方法

WBOY
WBOY원래의
2016-06-13 13:13:22921검색

phpExcel输出xls文档显示乱码的解决办法

最近在做一些报表的系统,主要是对excel的读取和处理操作。

之前在自己的机器上做开发的时候,没有出现乱码的情况,

即使是我布置到服务器上,导入,导出excel都没有出现乱码的情况

后来在一位同事的机器上装了下,却出现乱码的情况,很郁闷,

后来在网上看了一篇博文,就解决了。

?

$filename = urlencode("个税表.xls");
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename='.$filename);
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
$objWriter->save('php://output'); 

?

我原来是这么写的,但在有些机器上却出现乱码

?

后来我改成下面的就好了

?

$filename = urlencode("个税表.xls");
ob_end_clean();
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename='.$filename);
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
$objWriter->save('php://output'); 

?

加了个ob_end_clean();在输出xls文档之前清理下缓存。就没问题了。

1 楼 telankes2000 2012-05-31  
是有用 能解释下原因吗?

2 楼 yeyuan 2012-05-31  
telankes2000 写道
是有用 能解释下原因吗?
应该是在表的数据输出之前,有一些其它的数据输出!先清理下,再输出就可以了
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.