@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

VB2005で読み書き

投稿者投稿内容
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-10-10 14:02
こんにちは。
1つお聞きします。

VB2005+Excel2007の環境です。

VBでEXCELを読み込み、読み込んだEXCELの例えばA列の値を
パラメータでSQLServerからデータを取得しB列にセットして
EXCELをそのまま保存したいのです。

読み込みはDataAdapterを使ってるサイトがありました。

上記のような処理は可能なのでしょうか?

EXCEL
A列  B列
AA
BB

とあった場合
SELECT KINNGAKU FROM SQLTBL WHERE KMK = 'AA'
とし結果を
A列  B列
AA 1000
とセットします。
次に
SELECT KINNGAKU FROM SQLTBL WHERE KMK = 'BB'
とし結果を
A列  B列
BB 2000

とセットし、最後にそのままの名前でEXCELを保存したいのです。

よろしくお願いします。








ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2008-10-10 14:21
>上記のような処理は可能なのでしょうか?

可能です。

で、どこまで出来ているのでしょうか?
VB.NET から Excel を開いて、A1 セルの値を取得するくらいのところまでは出来ているのでしょうか?

@IT 内を検索すれば該当するスレッドが多数ヒットすると思います。
それらのスレを読めば、.NET から Excel(COM)を利用する際の大変さが分かると思います。

まずは、検索してみてはいかがですか?

ところで、Windows アプリでしょうか、Web アプリでしょうか・・・
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2008-10-10 14:26
とりあえず、いつものを貼っておきます。

COM オブジェクトの参照カウントを解放する
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-10-10 14:49
ADO.NET で何でもかんでもできると思っているような気がします。 CSV か TSV 形式であればけっこうですが。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2008-10-10 14:52
Visual Basic .NET と ADO.NET を使用して Excel ブックのレコードの取得と変更を行う方法
http://support.microsoft.com/kb/316934/ja

ExcelCreator
http://www.adv.co.jp/products.htm
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-10-10 15:18
ありがとうございます。
データを取得し、まずDataGridViewに表示しようと思います。

Dim Cn As New OleDbConnection()
Dim Cmd As New OleDbCommand()
Dim DA As New OleDbDataAdapter()
Dim Ds As New DataSet

Try
Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\EE.xls;Extended Properties=Excel 8.0;HDR=YES;"

With Cmd
.Connection = Cn
.CommandText = "Select * from [sheet1$] "
End With
DA.SelectCommand = Cmd
DA.Fill(Ds)
'
If Ds.Tables(0).Rows.Count > 0 Then
dgv.DataSource = Ds.Tables(0)
Else
MessageBox.Show("データ無し")
End If

Catch oExcept As Exception
MessageBox.Show(oExcept.ToString, "例外発生")
End Try

とコーディングしましたが
System.Data.OleDb.OleDbException:インストール可能なISAMドライバが見つかりません
でした。

のエラーになり、まだEXCELのデータも取得できない状態です。
何がいけないのでしょうか?
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2008-10-10 15:27

>>何がいけないのでしょうか?

調べる姿勢と回答者の方々の意見・内容を理解しようとしないことです。


_________________
------------------------------------------
拝啓、さかもとと申します♪
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2008-10-10 15:49
引用:

なびさんの書き込み (2008-10-10 15:18) より:

とコーディングしましたが
System.Data.OleDb.OleDbException:インストール可能なISAMドライバが見つかりませんでした。

のエラーになり、まだEXCELのデータも取得できない状態です。
何がいけないのでしょうか?


「インストール可能なISAMドライバが見つかりません」で検索すればいいのに・・・

参考
インストール可能な ISAM ドライバのエラー (MDACのバージョン?)

スキルアップ/キャリアアップ(JOB@IT)