- - PR -
Excelへのデータ移行[C#]
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-11-23 04:14
DBの内容をdataViewでフィルタリングしてdataGridに表示しています。
現在の段階では、Excelは起動でき、random変数を使いテストデータを作成し、 Excelに移してグラフを作成できます。 後はフィルタリングしたdataGridのデータをExcelに移すだけなんですがデータがうまく移せません。 CSVなども考えたんですが、そのまま移したいと思っています。 dataGrid内: 全て数字で4列31行のデータです。 過去レスも見たんですがイマイチわからず、ご指導お願いします。 | ||||
|
投稿日時: 2003-11-23 08:43
こんにちわ。諸農です。
どううまく移せないのでしょうか? DataGridに表示されているデータへのアクセス方法がわからない? DataGridに表示されているデータは取得できているが、 Excelオブジェクト(のセル)への、データ移送の方法がわからない? 問題点がどこにあるのか、もう少し具体的に書かれた方が良いかと思います。 ではでは(^^)/ _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2003-11-23 14:02
説明不足ですいません。
とりあえず移してみようと思い、for文を使ってみました。 for(int r = 0;r < dataView.Count;r++) { for(int row = 0;row < dataView.Count;row++) { sheet.Cell[row.1] = Convert.Toint32(dataGrid[r,0]); sheet.Cell[row.2] = Convert.Toint32(dataGrid[r,1]); sheet.Cell[row.3] = Convert.Toint32(dataGrid[r,2]); sheet.Cell[row.4] = Convert.Toint32(dataGrid[r,3]); } } 乱数だとfor文で移せて自動的にグラフが作れるので、このようにしてみたんですが やはりできませんでした。 | ||||
|
投稿日時: 2003-11-23 17:22
こんにちわ。諸農です。
何度もすみません。 エクセルへのデータ移送がうまく行かないのが問題なのか、 エクセルにはデータ移送がうまく行くけども、グラフが出 来ないことが問題なのか、どちらなんでしょう?? 乱数を求めてエクセルへデータを移送するコードと、アップ されたコードとの差異は何でしょうか? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2003-11-24 07:18
マニュアル(MSDN)を見ればすむ話のような?? sheet.Cell[row,col] = dataGrid.Items[row][col] sheet.Cell[row,col] こっちは単あるタイプミスと思います。乱数の代入はできているのですから。 [ メッセージ編集済み 編集者: Jitta 編集日時 2003-11-24 10:58 ] | ||||
|
投稿日時: 2003-11-24 07:34
こんにちわ。
いや、まさか「コンパイルエラー」が問題だったとは思いませんでした。 特に sheet.Cell[row,col] の、部分は画面の小さなノートPCのIEだと気付きにくいですね。。 #問題点を明示しない方が多いのは何故なんでしょうか・・ ではでは(^^)/ _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2003-11-25 05:50
たびたびすいません。
書き直してみたんですが、やはり移送できませんでした。 dataViewの最下行のみが任意の範囲に全て表示されてしまいます。 そこでいろいろ調べてみたんですがC#ではCopyFromRecordsetは使えるんでしょうか? sheet.get_Range("A1","D31").CopyFromRecordset(dataGrid, dataView.Count, dataView.Count); このようにしたところ"サポートされていません"とエラーがでてしまいます。 データ量は少ないんでできれば各Cellに1つずつ移送したいんですが・・・。 すいませんがもう少しご指導お願いします。 | ||||
|
投稿日時: 2003-11-25 09:09
私のところでは、以下のコードでDataTableのデータを
Excelに転送できることが確認できています。
この発言内容を元に試してみてうまくいった場合ですが、 この会議室を見ている人、今後同様の問題にぶつかるかもしれない人のために、 「今までやっていたことのどの部分でまずかったのか」、 「何をどう変えたらうまくいったのか」を、 具体的な内容でフィードバックしていただけると幸いです。 是非ともお願いします。 _________________ 諸農和岳 Powered by Borland Delphi/C++Builder & Microsoft VS.NET [ メッセージ編集済み 編集者: Jubei 編集日時 2003-11-25 09:17 ] |