- - PR -
DataGrid→Excel "0001"文字列の表示
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-02-06 17:02
こんにちは。
以前から、話題に上っているDataGrid→EXCELへの出力で、困っていることがあります。 「Live Demo:DataGridをExcelにエクスポートしてグラフを作成するには」の中で、 "0001"のようなデータが"1"になってしまう。 というのがあり、私も同じ問題で躓いていたので参考にさせていただいてましたが、 結局、出来ないままでいます。 試したのは、このようなコードで直接Excelに書くことと、 #これは動きましたが、"0001"は"1"になります。 --- System.IO.StringWriter tw = new System.IO.StringWriter() System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw) DG.RenderControl(hw) Response.Write(tw.ToString()) CreateObjectを使うことです。 #ただし、これは「oBook.HTMLProject.HTMLProjectItems」で、 以下のエラーが出て動きません。 <エラー:インターフェイス 'Office.HTMLProjectItems' には既定のプロパティがないため、 インデックス処理を実行できません> --- oXL = CType(CreateObject("Excel.Application"), Excel.Application) oBook = oXL.Workbooks.Add oBook.HTMLProject.HTMLProjectItems("Sheet1").Text = dgGrid oBook.HTMLProject.RefreshDocument() まずは、CreateObjectを動かしてからだろう。。という思いですが、 この質問をしてからの方がいいのか、何か別の方法を調べたらいいのか、 両方を行っていますが、未だうまい具合に進みません。 どなかたか、"0001"をExcelに渡せた方がいらっしゃいましたら、お知恵を貸していただけませんでしょうか。 どうぞ、よろしくお願いいたします。 [ メッセージ編集済み 編集者: 吉備 編集日時 2003-02-06 17:02 ] |
|
投稿日時: 2003-02-06 17:26
"0001"を"'0001"にすれば表示されると思います。
(数字でなく文字になりますが) |
|
投稿日時: 2003-02-06 17:35
早速のご返答ありがとうございました。
確かに、"'0001"で渡すと、文字ではありますが書き込みができます。 しかしこれは、LiteLineで一行渡しただけで、DataGridからはどのタイミングで変換したらのいのか考えています。 データ自体に"'"をつけるわけにはいかないですし・・・。 |
|
投稿日時: 2003-02-06 17:50
どうやってコードに反映させるかまでは調べておりませんが、
書式を文字列にしてみたらどうでしょう? ちなみに、Excelの「マクロの記録」で取ってみたところ、 Selection.NumberFormatLocal = "@" で文字列形式にできるようです。 問題解決への参考になれば幸いです。 [ メッセージ編集済み 編集者: まゆりん 編集日時 2003-02-06 17:57 ] |
|
投稿日時: 2003-02-07 10:47
まゆりんさん、ご返信ありがとうございました。
たしかに、書式を文字列にするというのは、魅力的な方法だと思います。 試行錯誤の上、DataGridにセットするSQL文で、そのカラムに対して文字列操作を行いました。 Select '''' || ID AS ID, From TableA ID ------- '0001 この方法で、進めたいと思います。 catsさん、まゆりんさん、大変参考になりました!! |
1