- ベストアンサー
php excelダウンロード
- phpによるExcel形式でのダウンロードプログラムを作っているのですが、IE6では問題が発生しています。
- IE6でphpによるExcel形式でのダウンロードがブラウザに表示されてしまう問題の解決方法を教えてください。
- WindowsXPの環境で、phpによるExcel形式でのダウンロードを実装中ですが、IE6で正しく動作しません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#これをダウンロードしてExcelファイルになるんでしょうか? ブラウザに返しているContent-TypeはExcelですが、中身はhtmlですよね?IEはContent-Typeを重視しないので中身がhtmlだとhtmlで扱ってしまうと思います。 普通は <?php header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=hoge.xls"); readfile("hoge.xls"); ?> といった書き方になると思いますが・・
その他の回答 (1)
- shimix
- ベストアンサー率54% (865/1590)
#正直なんでそんな無理をしないといけないのかがわかりません。 「Excelにhtmlのテーブルを読み込ませる」というのは、かなり閲覧環境を選びませんか?イントラ環境であればいいでしょうけど・・ひょっとしてイントラ向けのスクリプトでしょうか?(でもそれならIEやOfficeのバージョンは固定でしょうしねぇ・・)。 動的に作成しないといけないのであればCSV、そうでなければ普通のExcelファイルという「間違いなく動作する」方法を選択すべきだと思います。
お礼
ご回答ありがとうございます。 おっしゃる通りイントラでのスクリプトなんですが、対象ブラウザーが IE6,IE7なんですよね。要望がCSVではなくセルに色を付けたり、 簡単な罫線を表示させたいということだったので、 何か方法はないかと試していたんですが。 まあ、ExcelWriterモジュールとかを使用すれば動的に作成する ことは可能なんですけど、あれはバグがあったりするので、 あまり使いたくはないなと思っていたので。 確かに、間違いなく動作する方法を選択するべきですね。 これで、この質問を閉じたいと思います。 ありがとうございました。
補足
ご回答ありがとうございます。 プログラムは↓ http://www.bricklife.com/weblog/000051.html のサイトにあった方法を参考に書いてみました。 それで、結果的にはアパッチの再起動をしたところ IE6でも今現在は問題なくphpで書いたtableを、Excelで保存して、 開くことが出来ました。が、何故アパッチの再起動をしたら解決したのかが分からないのと、IE7では動作が不安定("開く" or "保存"のダイアログは開くが、保存を実行すると待機状態になり、一度キャンセルし、 再度実行すると今度はうまく行きます。2回目以降はずっと何度やってもうまく行く。。。)という状況であります。 やはり、Excelのhtml読み込み機能を使って、htmlをExcelで見るのは 無理があるのでしょうか?