[PHP-users 14247] Re: Excelの書込みから表示まで

山口 敏広 php-users@php.gr.jp
2003年 3月 25日 (火) 03:47:12 JST


初めまして。山口です。

header()関数を最下部ではなく最上部で指定してはだめでしょうか?
以前Linuxで同じようなことをしたときにはExcelのデータを書き出すに先立って
header()関数で
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$filename");
を出力したのですが。


03/03/25 12:37:06 に
017102 熊谷 悟 <satoru_kumagai@mjs.co.jp> さんが書きました。

> 基本的なことだとは思いますが,初めてのことで
> つまづいています.
> やろうとしていることは,検索画面から指定した
> キーワードに基づきSQLサーバーを検索.
> その検索結果をExcelに出力.
> そのExcelファイルをブラウザに表示.というものです.
> とりあえず試しにと思い,簡単なスクリプトでブラウザに
> Excelが表示されるとことまでを確認しようと思いました.
> 
> <?php
> $exapp=new COM("Excel.Application");
> $exapp->DisplayAlerts ="False";
> $wkb=$exapp->Workbooks->add();
> $sheets=$wkb->Worksheets(1);
> $cell=$sheets->Cells(1,1);
> $cell->activate;
> $cell->value=100;
> $wkb->SaveAs("e:/temp/test.xls");
> $wkb->Close();
> $exapp->Quit();
> unset($exapp);
> ?>
> MLを参考にした上記のソースを実行すると指定したフォルダに
> 正しくExcelファイルが作成され,値もセットされています.
> 次は表示とおもい,上記ソースの最下部に
> header("Content-type: application/vnd.ms-excel");
> header("Content-Disposition: inline;filename=\"e:/temp/test.xls\"");
> を追加すれば,簡単に表示されるものだと思い込んでおりましたが,
> ブラウザにはExcelそのももが表示されるだけで値がセット
> されません.
> header("Content-Disposition: inline;filename=\"e:/temp/test.xls\"");
> の行をコメントアウトしてもExcelそのももだけが表示されるということは
> この行が機能していないということだと思うのですが・・・?
> Header関数の内容が不勉強なためいろいろASP関連のML
> 等も検索したのですが,対処法方が分かりません.
> アドバイスお願いします.
> 
> 環境
> PHP4.2.2
> サーバ:Winnt4.0+Apache1.3.26
> 
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users

 -
 +-------------------------------------------------------------+
 |東芝情報システム株式会社 公共システム・ソリューション事業部 |
 |             関西システムソリューショングループ |
 |                                                  山口 敏広 |
 +-------------------------------------------------------------+
 |                            Tel:06-6263-6050 Fax:06-6263-6066|
 +-------------------------------------------------------------+




PHP-users メーリングリストの案内