【发布时间】:2015-07-15 22:27:56
【问题描述】:
我在下载 excel 文件时遇到问题。当我保存在服务器上时,它工作正常。但是当我尝试下载时出错了。这是我的代码:
$result = getSoapResult($soapURL, $soapWSDL, $soapMETHOD, $inputParameters);
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header('Content-Disposition: attachment;filename="file_name.xls"');
header('Cache-Control: max-age=0');
$objExcel = new PHPExcel();
$objExcel->setActiveSheetIndex(0);
$rowCount = 1;
$column = 'A';
foreach($result as $key => $value){
if($rowCount == 1){
foreach($value as $k => $v){
$objExcel->getActiveSheet()->SetCellValue($column.$rowCount, $k);
$column++;
}
$rowCount++;
}
$column = 'A';
foreach($value as $k => $v){
$objExcel->getActiveSheet()->SetCellValue($column.$rowCount, $v);
$column++;
}
$rowCount++;
}
$objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007');
ob_clean();
$objWriter->save('php://output');
它给出了一个包含以下内容的 excel 文件:
我无法从有关此问题的其他问题中找到答案。
【问题讨论】:
-
尝试删除标题并查看输出的内容。它可能会向您吐出错误,但将其解释为 excel,因为您强迫它这样做。
-
在文本编辑器中打开文件。寻找前导/尾随空白字符; BOM 表头;或文件正文中的任何纯文本消息
-
我删除了标题,在浏览器中也是一样
标签: php encoding download phpexcel