私のプロジェクトの 1 つでは、ユーザーに 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) のユーザーに最もよく現れる傾向があります。
入力していただきありがとうございます。