1

Excelから各データを取得してdbfファイルを更新するコードがあります。列の各範囲のデータを読み取るために Microsoft.Office.Interop.Excel を使用します。oledb を使用して Excel の接続を変更したいのですが、各列のデータを取得して変数に設定するにはどうすればよいですか? Microsoft.Office.Interop.Excel のコードは次のとおりです。

   xlApp = New Excel.Application

            xlWorkBook = xlApp.Workbooks.Open(xlsName)
            xlWorkSheet = xlWorkBook.Worksheets("sheet1")
            xlRange = xlWorkSheet.UsedRange
            endrow = xlRange.Rows.Count

            For rCnt = 3 To endrow

                Empno = xlRange.Cells(rCnt, 1).Value
                totalhrs = xlRange.Cells(rCnt, 3).Value 
                latehr = xlRange.Cells(rCnt, 4).Value 

             Next

            xlWorkBook.Close()
            xlApp.Quit()

これは私の oledb 接続です。接続後、データを取得するために何をすべきか本当にわかりません。助けてください...スタックオーバーフローの誰かが私を助けてくれることを願っています。

         Dim xlsConnect As System.Data.OleDb.OleDbConnection
    Dim DtSet As System.Data.DataSet
    Dim MyCommand As System.Data.OleDb.OleDbDataAdapter

  Try

        If (Path.GetExtension(xlsName) = ".xls") Then
            xlsConnect = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & xlsName & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=2""")
        ElseIf (Path.GetExtension(xlsName) = ".xlsx") Then
            xlsConnect = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & xlsName & ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;';")
        End If
        MyCommand = New System.Data.OleDb.OleDbDataAdapter("Select * from [Sheet1$]", xlsConnect)
        'looping data should be here

        xlsConnect.Close()
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
4

1 に答える 1