PHPExcel下载文件,excel文件象形文字

PHPExcel download file, excel file hieroglyphics

我在下载 excel 文件时遇到问题。当我在服务器上保存时它工作正常。但是当我尝试下载东西时 wrong.This 是我的代码:

$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 文件:

我无法从其他问题中找到有关此问题的答案。

开头的PK泄露了它是一个zip文件。巧合的是,xlsx 是一种特殊的 zip 文件。尝试将文件保存为 .xlsx 而不是 .xls 并且 Excel 应该可以正确处理它。

鉴于您将 Excel2007 指定为格式,您将获得一个 .xlsx 文件。如果您需要 .xls 文件,也许您可​​以使用 Excel2003

请在您的文件下载代码之前添加代码

ob_end_clean();
ob_start();