質問: 'output.xlsx';//ダウンロードさせるファイル名 header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//ダウンロードの指示 header("Content-Disposition: attachment; filename=$file_name");//ダウンロードするファイル名 $writer->save('php://output'); exit; // これ入れてください 上記ソースコードで問題なく動くという意見がみられました。 実際に上記ソースコードを試しましたが、問題は解決しませんでした。 セルに埋め込む値をEUCからUTF8に度々変換して出力しておりますが、文字コード等関係はあるのでしょうか。 ### 該当のソースコード 業務の性質上ソースコードを載せることができません(小規模な会社ですが、情報の持ち出しはNGとされているため) ### 試したこと 文頭でも述べましたが、terateilの過去記事や、excel特有のエラーを調べたり、phpexcelの仕様も確認したりしました。 しかし、なかなか目的とする回答がみつけられなかった次第です。 ### 補足情報(言語/FW/ツール等のバージョンなど) 開発言語:PHP PHPEXCELバージョン:1.8.0 出力excel形式:xlsx 実際にexcelを開くofficeのバージョン:2013 長くなりましたが、こちらの現象にこころあたりのあるかたがいらっしゃいましたら、ご回答いただけると非常に助かります。 よろしくお願いします。
回答: $writer->save() を行う直前に、ob_end_clean() を呼び出して出力バッファを空にしておかないとまずい場合があったように記憶しています。