在我的一个项目中,我让用户使用 PHPExcel 将信息“导出”到 Excel 文件中。当它工作时,它完美地工作。其他时候,只有某些人可以实际打开文件。
由于我需要存储创建的导出,因此将它们保存在服务器上,然后使用 readfile() 下载创建的文件。当它不起作用时,(现在大部分时间)人们会收到“错误的文件格式”错误。真正奇怪的是,由于文件已保存,他们可以尝试再次下载相同的文件。然后它工作。
这是我的最终保存和下载代码:
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$Temp_Export_File_Name.'"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
//$objWriter->save('php://output');
$objWriter->save('../project_files_images/created_exports/'.$Temp_Export_File_Name);
readfile('../project_files_images/created_exports/'.$Temp_Export_File_Name);
exit;
我缺少的这段代码有什么问题吗?对于最新版本的 Office(Mac 或 Windows)的用户来说,这个问题往往最为突出
感谢您的输入。