phpExcel导出, 在本地正常,在服务器乱码解决办法
程序员文章站
2022-05-16 16:38:15
...
phpExcel导出, 在本地正常,在服务器乱码
如题,在服务器运行时....
重复一下,在本地运行是正常的,放上服务就成这样了,代码如下。。。
------解决思路----------------------
打开任何一个 xls 文件都会看到那个文件标识是顶格的,但你的截图中不是这样
请检查是否有 BOM 头或其他输出
另外,那些 后边跟有空心方块的英文单词也是不应该有的,请检查相关的程序文件是否上传齐全了
------解决思路----------------------
header之前先清除缓存区的内容
如题,在服务器运行时....
重复一下,在本地运行是正常的,放上服务就成这样了,代码如下。。。
$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;$iarray_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');
}
------解决思路----------------------
打开任何一个 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');
相关文章
相关视频
上一篇: mysql数据库的导出与导入_MySQL
下一篇: 问基础有关问题
推荐阅读
-
phpmailer在服务器上不能正常发送邮件的解决办法
-
phpmailer在服务器上不能正常发送邮件的解决办法
-
phpmailer在服务器上不能正常发送邮件的解决办法_PHP
-
phpmailer在服务器上不能正常发送邮件的解决办法_PHP
-
关于R在Linux服务器上生成图片中文乱码原因及解决办法
-
关于R在Linux服务器上生成图片中文乱码原因及解决办法
-
调用地图api在本地显示正常,但是传到服务器上就不显示
-
THINKPHP网站登录页在本地测试可以通常登录,在服务器却无法正常跳转
-
phpExcel导出, 在本地正常,在服务器乱码解决办法
-
javascript - 服务器上导出的php文件怎么在本地里运行