首页 > 后端开发 > php教程 > phpExcel导出, 在本地正常,在服务器乱码解决办法

phpExcel导出, 在本地正常,在服务器乱码解决办法

WBOY
发布: 2016-06-13 12:25:44
原创
1258 人浏览过

phpExcel导出, 在本地正常,在服务器乱码
如题,在服务器运行时....

重复一下,在本地运行是正常的,放上服务就成这样了,代码如下。。。

<br />            $excel=new \PHPExcel();<br />            do{<br />               $url='http://www.哪个好人来答下.com';<br />               <br />                $content='';<br />                $content=file_get_contents($url); <br />                if($content['status']==0){  <br />                    $data=$content['results'];<br />                  <br />                        $head=array();<br />                        <br />                        //获取表头值<br />                        for($i=0;$i<10;$i++){<br />                        $tmp=array_keys($data[$i]);<br />                        foreach($tmp as $t){<br />                            if(!in_array($t,$head)){<br />                                array_push($head,$t);<br />                            }<br />                        }<br />                        }<br />                      <br />                        $A=65; //A的ASCII值<br />                        $col=array();<br />                        for($i=0;$i<count($head);$i++){   //制作列值<br />                            array_push($col,chr($A++));<br />                        }<br />                        for($i=0;$i<count($head);$i++){  //制作表头<br />                            $excel->getActiveSheet()->setCellValue($col[$i].'1',$head[$i]);<br />                        }<br />                    }         <br />                    foreach($data as $key=>$val){         <br />                        for($i=0;$i<count($head);$i++){<br /><br />                            $excel->getActiveSheet()->setCellValue($col[$i].$i,$row[$head[$i]]);<br />            <br />                        }<br />                    }<br />            <br />                }<br />                $page++;<br />            }while($pageCount>=$page);<br />            $excel->getActiveSheet()->setTitle($title);<br />           $excel->setActiveSheetIndex(0);<br />            <br />            $writer = \PHPExcel_IOFactory::createWriter($excel, 'Excel5');<br />            header('Content-Type: application/vnd.ms-excel');<br />            header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');<br />            header('Cache-Control: max-age=0');<br />          <br />            $writer->save('php://output');<br />            <br />        }<br />
登录后复制

------解决思路----------------------

打开任何一个 xls 文件都会看到那个文件标识是顶格的,但你的截图中不是这样
请检查是否有 BOM 头或其他输出
另外,那些 后边跟有空心方块的英文单词也是不应该有的,请检查相关的程序文件是否上传齐全了
------解决思路----------------------
header之前先清除缓存区的内容
<br />ob_end_clean();// 就是加这句<br /><br />header('Content-Type: application/vnd.ms-excel');<br />header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');<br />header('Cache-Control: max-age=0');<br />
登录后复制

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板