- - PR -
エクセルのダウンロードについて
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-05-01 15:56
始めて投稿をさせていただきます。
開発環境は ・Visual studio 2005 ・Asp.net ・windows2003server 教えていただきたいことはエクセルのダウンロードのプログラムを作っているのですが うまくダウンロードが出来ないということです。 具体的にはエクセルを作成しダウンロードまではできるのですがダウンロードしたファイルを開こうとすると「ファイルが読込めません」というエラーメッセージが表示されます。 ファイルの内容をnotepadで見てみるとどうもwebページの内容となっているようです。 なぜ、なのでしょうか? 基本的なことを理解していないせいかもしれませんがご教授願います。 --------------------------------------サンプルコード---------------------------- Response.ContentType = "application/vnd.ms-excel" Response.AddHeader("Content-Disposition", "attachment; filename=" + "test.xls") Response.Flush() Response.WriteFile(作成したエクセルまでのフルパス+ファイル名) Response.End() コードというよりもその他設定のような気がするのですがいろいろと調べてみたのですが 分かりませんでした。 よろしくお願いします。 | ||||||||
|
投稿日時: 2007-05-01 16:13
WriteFile() でどのようにファイルのパスを指定していますか? Server.MapPath() などで変換していますか? WriteFile の前に Flush() してますが、何を Flush() しているんですか? #追記 #あっフルパスって書いてある。。。 #パスのほうは無視してください。 _________________ かるあ のメモ http://karua.at.webry.info/ [ メッセージ編集済み 編集者: かるあ 編集日時 2007-05-01 16:16 ] | ||||||||
|
投稿日時: 2007-05-01 16:59
返信ありがとうございます。
Response.Flushについてですが、サンプルコードから持ってきたものを そのまま記述してしまったためで、自分のサンプルコードのあの位置に入れても意味 ありませんよね。 writeの後ならまだしも・・・。 (ただ、入れていないコードでやっても結果は同じでした) また、1回目はちゃんとできる場合がありますが2度目以降は必ず失敗します。 開放がちゃんとできていないのでしょうか? しているつもりなですが。 何がいけないのでしょうか? 再度、アドバイスをいただければと思います。 | ||||||||
|
投稿日時: 2007-05-01 17:07
それはどういった内容ですか? | ||||||||
|
投稿日時: 2007-05-01 17:18
>ファイルの内容をnotepadで見てみるとどうもwebページの内容となっているようです。
作成されたエクセルファイルをnotepadで開いてみるとwebページ(HTML)になっているのです。 「ファイルが読込めません」というメッセージが出る場合やエクセルを開くとwebに表示されている内容を無理にエクセルに読込み表示されている場合があったので試しにnotepadで開いてみたらwebページ(HTML)になっていたということです。 いろいろと調べた際にマイクロソフトのHPで以下のページを見つけました。 あまり関係ないように思えたのですが参考までに。 http://support.microsoft.com/kb/266263/ | ||||||||
|
投稿日時: 2007-05-01 17:36
申し訳ないのですが、状況がサッパリ飲み込めません。
HTMLの内容は何ですか? また、それは意図している結果なのですか? 取得されるファイルは静的ファイルですか? | ||||||||
|
投稿日時: 2007-05-01 17:52
分かりづらく申し訳ありません。
>HTMLの内容は何ですか? あるweb画面より検索条件を元にボタンを押下するとエクセルファイルを出力するwebページ(aspx)があるのですが、そのaspxファイルのソースコードです。 >また、それは意図している結果なのですか? 意図していません、単純にエクセル形式でファイル出力したいだけです。 >取得されるファイルは静的ファイルですか? 動的ファイルです。 意味が通じるでしょうか? うまく伝えられずにすみません。 | ||||||||
|
投稿日時: 2007-05-01 18:02
その他の場合は、正しく取得できていたのですよね? 状況によってファイルの内容が変わっているということから考えると、Response.WriteFileするファイルを間違えているのではないですか? どのような条件で「ファイルが読込めません」になったり「無理にエクセルに読込み表示され」るのかはわかりませんが。 ダウンロードするファイルのファイル名はtest.xlsになっていますよね。 |
1|2|3
次のページへ»