5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

ExcelファイルをPHPで生成してHTTPSでダウンロードするときの注意の話し


ExcelファイルをPHPで生成するには、PEARのSpreadsheet_Excel_Writerを使うと簡単にできます。

生成したPHPファイルをダウンロードするには、

header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");

でヘッダを出力してから、Excelファイルの本体をシフトJISに変換してecho()なんかで出力すればいいのですが、httpsでSSLを使うとダウンロードできなくなります。ファイルの保存ダイアログも表示してきません。

いろいろ調べると、IEの問題らしい。やはり、先人の知恵がありました。

以下のように続けてヘッダを出力してあげれば解決です。

header("Cache-Control: public");
header("Pragma: public");
著:山田祥寛
¥3,366 (2024/10/06 15:33時点 | Amazon調べ)
著:松浦 健一郎, 著:司 ゆき
¥1,430 (2024/10/06 15:33時点 | Amazon調べ)
著:谷藤賢一, 著:徳丸浩
¥2,750 (2024/10/06 15:33時点 | Amazon調べ)
,