ADO.NETで取得したエクセルデータを更新するには

解決


TAKU  2007-12-10 15:17:28  No: 138361  IP: 192.*.*.*

以前ADO.NETでエクセルのデータを取得する方法をご教授いただいたのですが、その取得したデータを変更し、そのデータをエクセルに反映する方法がわからず、質問させて頂きました。

データの取得方法は以下のように行っています。

Dim conStr As New OleDb.OleDbConnectionStringBuilder()
conStr.Provider = "Microsoft.JET.OLEDB.4.0"
conStr.DataSource = My.Application.Info.DirectoryPath & "\" & Dir(My.Application.Info.DirectoryPath & "\" & "ファイル名" & "*.xls")
conStr("Extended Properties") = "Excel 8.0;HDR=NO;IMEX=1"

Dim sql As String = "SELECT * FROM [シート名$B3:G4000]"
Using da As New OleDb.OleDbDataAdapter(sql, conStr.ConnectionString)
            da.Fill(ds, "シート名")
End Using

table = ds.Tables("シート名")

色々ネットで調べてみましたが、小生の知識が乏しくよく理解できませんでした。どなたかご教授頂きたく宜しくお願い致します。

編集 削除
もげ  2007-12-10 18:17:29  No: 138362  IP: 192.*.*.*

>色々ネットで調べてみましたが、
の中に、これはありましたか?
http://support.microsoft.com/kb/316934/ja

編集 削除
TAKU  2007-12-10 18:49:24  No: 138363  IP: 192.*.*.*

>もげさん

お返事ありがとうございます。
もげさんの言われているページも調べた中にはあったのですが、
使用方法がよく理解できませんでした。

よろしければご教授いただけないでしょうか?

編集 削除
lol  2007-12-10 22:05:31  No: 138364  IP: 192.*.*.*

ご教授  ×
ご教示  ○

取得処理が出来てるのに更新はサンプルコードを見ても出来ないってな何でじゃろか?
具体的に何処が分からんのじゃろか?

編集 削除
ヤマ  2007-12-10 22:13:17  No: 138365  IP: 192.*.*.*

>使用方法がよく理解できませんでした。

理解する作業の完結を待つのではなく、
とにかく「更新処理」の成功体験をしてみたらどうですか?

サンプルを見ればできるはずですよね?

「エクセルデータを更新する」ことが目的であればそこで完了だろうし、
「理解すること」が目的ならばそのあといろいろな検証で理解を深めればいいと思う。

編集 削除
TAKU  2007-12-11 09:26:39  No: 138366  IP: 192.*.*.*

サンプルの方法では左の列と上の列にスペースがあるとうまく動作しなかったのですが、それを詰めてやることでうまく動作しました。
色々ご意見ありがとうございました。

編集 削除
TAKU  2007-12-14 11:30:03  No: 138367  IP: 192.*.*.*

なんとか求めているものが完成しました。

編集 削除