如果我将其保存到文件:
$objWriter->save("test.xls");
然后从服务器下载,我可以毫无问题地打开文件.
但是当我试图保存时php://output
,得到了像这个问题中描述的损坏的文件.
我试过这个:
ob_end_clean(); header( "Content-type: application/vnd.ms-excel" ); header('Content-Disposition: attachment; filename="test.xls"'); header("Pragma: no-cache"); header("Expires: 0"); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output'); exit;
ob_end_clean();
没有帮助.
我试着PHPExcel_Writer_Excel2007
和PHPExcel_Writer_Excel5
.同样的问题.
UPD:正如我所看到的,excell文件在开始时有BOM("EF BB BF").但我检查了所有脚本,他们没有BOM符号.那么,这是否意味着PXPExcell添加BOM?
我ob_end_clean();
也在标题部分之后添加了.BOM符号消失了.
ob_end_clean(); header( "Content-type: application/vnd.ms-excel" ); header('Content-Disposition: attachment; filename="test.xls"'); header("Pragma: no-cache"); header("Expires: 0"); ob_end_clean();