Gridviewのデータを指定したExcelファイルに書き出す
-
2012年4月12日 5:48
いつもお世話になっております。
前回と質問がだぶってしまっているのですが・・・。gridviewをexcel形式でエクスポートするコードを作成しました。
Response.Clear()
Response.ContentType = "application/vnd.xls"
Response.AppendHeader("Content-Disposition", "attachment;filename=xxxxx.xls")
Response.ContentEncoding = System.Text.Encoding.GetEncoding("Shift_JIS")
Dim SW = New StringWriter()
Dim HW = New HtmlTextWriter(SW)
'TemplateFieldを非表示(Excel書出しエラーを回避)
Me.GridView1.Columns(0).Visible = False
Me.GridView1.Visible = True
Me.GridView1.RenderControl(HW)
Response.Write(SW.ToString())
Response.End()
上記だと出力するExcelのファイル名しか指定できませんが
タイトルのとおり、
指定したファイルに上書きでエクスポートされるようにしたいです。
(Accessでいうテーブル作成クエリのようなイメージ。)
上記コードを多少書き換えるくらいでできればいいですが
やはりまったく違う方法でやるしかないでしょうか?
ご教授お願いいたします!
すべての返信
-
2012年4月12日 6:40モデレータ
基本的に無理でしょう。これが可能であれば、利用者が知らない間にローカルにファイルが書き込まれるようなページを用意することができます。例えばWindowsの設定ファイルが勝手に上書きされてしまいます。これはセキュリティ上、重大な問題になります。また、ローカルのパス情報もありませんから、この時点でも不可能です。ブラウザという汎用アプリケーションに最初から用意されている機能だけでは無理だと思います。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク masunona 2012年4月12日 6:51
-
2012年4月12日 6:51
>trapemiya 様
いつもありがとうございます!
そうですね。考えてみればとても恐ろしいことです。。。
もっと別の方法を検討してみます。
ありがとうございました!

