欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-16 16:38:15
...
phpExcel导出, 在本地正常,在服务器乱码
如题,在服务器运行时....phpExcel导出, 在本地正常,在服务器乱码解决办法

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

$excel=new \PHPExcel();
do{
$url='http://www.哪个好人来答下.com';

$content='';
$content=file_get_contents($url);
if($content['status']==0){
$data=$content['results'];

$head=array();

//获取表头值
for($i=0;$i $tmp=array_keys($data[$i]);
foreach($tmp as $t){
if(!in_array($t,$head)){
array_push($head,$t);
}
}
}

$A=65; //A的ASCII值
$col=array();
for($i=0;$i array_push($col,chr($A++));
}
for($i=0;$i $excel->getActiveSheet()->setCellValue($col[$i].'1',$head[$i]);
}
}
foreach($data as $key=>$val){
for($i=0;$i
$excel->getActiveSheet()->setCellValue($col[$i].$i,$row[$head[$i]]);

}
}

}
$page++;
}while($pageCount>=$page);
$excel->getActiveSheet()->setTitle($title);
$excel->setActiveSheetIndex(0);

$writer = \PHPExcel_IOFactory::createWriter($excel, 'Excel5');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');
header('Cache-Control: max-age=0');

$writer->save('php://output');

}

------解决思路----------------------
phpExcel导出, 在本地正常,在服务器乱码解决办法
打开任何一个 xls 文件都会看到那个文件标识是顶格的,但你的截图中不是这样
请检查是否有 BOM 头或其他输出
另外,那些 后边跟有空心方块的英文单词也是不应该有的,请检查相关的程序文件是否上传齐全了
------解决思路----------------------
header之前先清除缓存区的内容

ob_end_clean();// 就是加这句

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');
header('Cache-Control: max-age=0');

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

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频