回答済み 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 様

    いつもありがとうございます!

    そうですね。考えてみればとても恐ろしいことです。。。
    もっと別の方法を検討してみます。
    ありがとうございました!