- - PR -
WEB画面に表示したEXCELシート名を変更したい
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-05-07 17:36
お世話さまです。
DataGridに表示したデータを下記のようにしてEXCELのシートとしてWEB画面に 表示したのですが、デフォルトではWEBフォーム名称(Form.aspx)がシート名に なってしまいます。 Response.Buffer = True Response.ContentType = "application/vnd.ms-excel" 試しに下記のようにやってみたのですが、何らお変りありませんでした。^^; Response.AppendHeader("総括表", "総括表.xls") どのようにすればコード内で任意のシート名をつけられるのでしょうか? ご教示頂ければ幸いです。m(_)m |
|
投稿日時: 2003-05-07 17:52
こんにちは。
こことかが参考になるのでは? |
|
投稿日時: 2003-05-08 10:35
===>Qoo様
おはようございます。 度々お世話になりますです。^^; ご紹介頂いたサイトを参考にトライしてみたのですが、ダメでした。 今回新たに気づいたことがありますので、詳細についてレポート致します。 先ず、Table.aspxフォーム上のDataGridにデータをチェックボックス付きで表示し、 選択された行のレコードをRep1.aspxフォームのDatagridに表示させているのですが、 Rep1.aspxフォーム上のExcelのシート名はRep1.aspxではなく、Table.aspxとなっています。 (アドレスにも…/Table.aspxと表示されている!) ちなみにTable.aspx.vbでは下記のような記述でRep1.aspxに画面遷移させています。 Server.Transfer("Rep1.aspx") で、Rep1.aspx.vbのPage_Loadプロシジャの記述は下記の通りです。 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Response.Buffer = True Response.ContentType = "application/vnd.ms-excel" Response.AddHeader("Content-disposition", "inline; filename=hyou.xls") SqlDataAdapter1.Fill(Rep1DataSet1) dgdRep1.DataBind() End Sub 画面遷移の仕組み自体のみこめてないようなヤな予感がビンビンしてきました…^^; |
|
投稿日時: 2003-05-08 11:14
こんにちは。
"Content-disposition" => "content-disposition" のようですね。(^^ |
|
投稿日時: 2003-05-08 11:23
こんにちは!
小文字に変えて実行してみましたが、やはり結果は同じでした。T_T |
|
投稿日時: 2003-05-08 12:37
こんにちは。
大文字小文字は関係なかったみたいですね。(^^;; 画面遷移でひっかかるのかと思い、試してみたのですが、きちんと変更されました。 原因は別のところのようですね。 テスト的なプロジェクトを作って、Page_Loadプロシージャに Response.Buffer = True Response.ContentType = "application/vnd.ms-excel" Response.AddHeader("Content-disposition", "inline; filename=hyou.xls") だけを書いて実行した場合には、どうなるのでしょう? |
|
投稿日時: 2003-05-08 13:54
どーもです。
先頭フォーム(Title.aspx)のPage_Loadプロシージャにこの3行だけコピペして 実行してみましたところ、Excelのシート名はTitle.aspxとなりました。 うーん、何でコントロールできないんだろ? |
|
投稿日時: 2003-05-09 15:25
こんにちは。
うーん、何なんでしょうねぇ? Googleで調べたら、同様の現象ぽいのはあるけども、これといった解決策が 見当たりませんでした。 ブラウザやExcelの設定などが絡んでるのかなぁ... ところで、filename=hyou.txt としてみたらどうなるでしょう? |