- - PR -
Live Demo:DataGridをExcelにエクスポートしてグラフを作成するには
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2002-09-06 12:28
View a live demo をクリックするとDataGridをExcelにエクスポートしてグラフを作成することができます。
このサンプルは、DataGridに表示するカラムを一覧から選択してExcelにエクスポートすることができます。 Excelにエクスポートしたデータは、編集して印刷したりグラフを作成して 分析することができます。 また、CSV形式に保存して別のアプリケーションにインポートすることもできます。 DataGridに選択されたカラムのみ表示するには、ランタイム時に BoundColumnを生成します。
DataGridをExcelにエクスポートするには、DataGridのRenderControl()メソッドを使用します。 Happy Programming! Akio Kasai | ||||
|
投稿日時: 2002-09-09 18:52
今、こちらのサンプルとほぼ似たような処理を行いたいのですが
DataGridの情報を丸ごとエクスポートしたい場合、 RenderControl()の引数には何を入れてあげればよいのでしょうか? 申し訳ございませんが、ご教授願います。 | ||||
|
投稿日時: 2002-09-10 11:32
追記です。
■OS:Win2K ■DB:Oracle8i ■VB.NET使用 テーブル情報をDataGridにバインドして表示させているのですが、 それを印刷用としてExcelにエクスポートして新しいウインドウで表示させたいのです。 Dr ADO.NET様のおかげでRenderControlメソッドを使用することろまでは 分かったのですが、そのメソッドをどう使ってエクスポートさせればよいのか 色々調べてみたのですが分かりませんでした。 DataGridの情報を全てExcelにエクスポートし、かつそれを別ウィンドウで表示させる 方法を教えて頂きたく、宜しくお願い致します。 | ||||
|
投稿日時: 2002-09-10 22:05
私も似たようなことがやりたくて調べています。
下記サイトのコードを参考にして、 Excelファイルをダウンロードさせるまではできました。 http://www.dotnet247.com/247reference/msgs/14/72757.aspx 以下、引用:(文章によると、どこかにVBのコードもあるようですが・・・) ---------------- Thanks, your example was perfect. Many Kudos to you. And if anybody needs it, here is the VB Code Converted into C# that I am using. ________________________________________________________________________________ <SCRIPT language="C#" runat="server"> protected void Page_Load(Object Src, EventArgs E) { if (!IsPostBack) { //Bind the Datagrid Database myData = new Database("SELECT * FROM myTable"); //my own class DG.DataSource = myData.GetDataTable(); DG.DataKeyField="ID"; DG.HeaderStyle.ForeColor = System.Drawing.Color.White; DG.HeaderStyle.BackColor = System.Drawing.Color.Black; DG.DataBind(); Response.ContentType = "application/vnd.ms-excel"; Response.Charset = ""; //Remove the charset from the Content-Type header. Page.EnableViewState = false; //Turn off the view state. System.IO.StringWriter tw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); DG.RenderControl(hw); //Get the HTML for the control. Response.Write(tw.ToString()); //Write the HTML back to the browser. Response.End(); //End the response. } } </SCRIPT> | ||||
|
投稿日時: 2002-09-10 22:06
で、
便乗質問なのですが、このように直にExcelファイルをダウンロード させるような方法だと、「0001」のようなデータが「1」になってしまう というった風に初めの「0」が落とされてしまいます。 これをなんとか回避する方法はないでしょうか。 | ||||
|
投稿日時: 2002-09-11 03:07
Automation機能を使用してセルの書式を文字型に設定すれば可能では・・・ VBScriptでExcelを起動する例です。 (JavaScriptでは正常に動作しないようです) Dim sHTML sHTML = window.parent.frames("bottom").document.forms(0).children("DataGrid1").outerhtml Dim oXL, oBook Set oXL = CreateObject("Excel.Application") Set oBook = oXL.Workbooks.Add oBook.HTMLProject.HTMLProjectItems("Sheet1").Text = sHTML oBook.HTMLProject.RefreshDocument oXL.Visible = true oXL.UserControl = true | ||||
|
投稿日時: 2002-09-12 13:43
通常の名無しさんの3倍さん、
Dr ADO.NETさん、 有難うございました! しかし、昨日「納期まで時間ないから後回しにして」と急に言われ、 現在は別の作業をやらされております・・・。 折角教えて頂いたのに申し訳ありません。 また作業が再開した時に参考させて頂きます! 本当に有難うございました。 | ||||
|
投稿日時: 2002-09-17 16:54
こちらのサンプルを使用し、DataGridをExcelにエクスポートする
処理を作成したのですが、DataGridに表示されているレコードが 1レコードのとき、文字化けが起こります。 2レコード以上のときは、問題ありません。 皆様はこのような現象は起こっていないのでしょうか? 回避する方法があれば教えて頂きたく。 宜しくお願い致します。 _________________ |