@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

EXCELの画面を新しいウィンドウで開くには

1
投稿者投稿内容
よねちん
ベテラン
会議室デビュー日: 2002/09/18
投稿数: 55
投稿日時: 2003-03-11 19:58
WebFormの画面でEXCELファイルをダウンロードできる
ようにしたのですが(以下のコードで)、このコードを
書いただけですと[開く]を選択すると画面が切り替わ
ってしまいます。
できればWebFormは現状のものを残して新しいウィンドウ
を開きたいのですが、そのやり方がよくわかりません。
HtmlFormのTARGETを使用できればできそうなのですが
どのように記述すれば良いのか調べても分かりません。
分かるかたがいましたらご教授お願いします。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Response.Clear()
Response.ContentEncoding = System.Text.Encoding.GetEncoding("shift-jis")
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("Content-Disposition", "inline; filename=AAAA.csv;")
Response.Write("あああ,いいい,ううう")
Response.End()
End Sub
べーちゃん
大ベテラン
会議室デビュー日: 2002/07/21
投稿数: 121
投稿日時: 2003-03-12 03:26
新しいウィンドウを開くにはJavascriptをクライアント側で動作させると
いいです。
ここの過去ログにいくつか情報があるはずです。
よねちん
ベテラン
会議室デビュー日: 2002/09/18
投稿数: 55
投稿日時: 2003-03-12 10:09
>Javascriptをクライアント側で動作させると
いいです。

javascriptのopen.wimdowなどを使用して新しい
画面を開くことはできると思いますが、やりたい
ことはサンプルコードのダウンロードをする時に
[開く]を選択した場合にexcelの画面が表示される
と思うのですが、その画面を新しい画面の中に表示
されるようにしたいのです。

なのでサンプルコードを呼ぶ前にHtmlFormを"_blank"
で呼び出すとともにTargetをHtmlformに移さないと
駄目だと思うのですが・・・その書き方がよく分から
ないのです。

度々すみませんが教えてください。
mito
ベテラン
会議室デビュー日: 2002/05/17
投稿数: 50
投稿日時: 2003-03-12 11:50
コードの
Response.AddHeader("Content-Disposition", "inline; filename=AAAA.csv;")

Response.AppendHeader("content-disposition","attachment; filename=AAAA.csv")
に変更してみてください。
ただし、IE4だとダメなことがあります。
よねちん
ベテラン
会議室デビュー日: 2002/09/18
投稿数: 55
投稿日時: 2003-03-12 13:27
>Response.AppendHeader("content-disposition","attachment; filename=AAAA.csv")
>に変更してみてください。

mitoさん返信ありがとうございます。
早速変更して試してみました。
結果はOKでした。でも確認のダイアログが2回
でてしまうのは何故なのでしょうか?
環境は
IE6.0 SP1
WindowsXP SP1
です。

mito
ベテラン
会議室デビュー日: 2002/05/17
投稿数: 50
投稿日時: 2003-03-12 17:37
その現象、私も報告されたことがあります。
報告された環境はWin2000proSP3+IE6でした。
ただWin98SE+IE5.5、Win2000proSP3+IE6の私の環境では起こらないので、検証できません。
笑ってごまかしちゃったので原因がわかったら教えてください(笑)。
1

スキルアップ/キャリアアップ(JOB@IT)