Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 使用oledb连接按每个单元格检索excel数据_Vb.net_Excel_Oledb - Fatal编程技术网

Vb.net 使用oledb连接按每个单元格检索excel数据

Vb.net 使用oledb连接按每个单元格检索excel数据,vb.net,excel,oledb,Vb.net,Excel,Oledb,我有一个从excel中检索每个数据以更新dbf文件的代码。我使用Microsoft.Office.Interop.Excel读取每个列范围内的数据。 现在我想使用oledb更改excel的连接。。 如何检索每列的数据并将其设置为变量? 这是我的Microsoft.Office.Interop.Excel代码 xlApp = New Excel.Application xlWorkBook = xlApp.Workbooks.Open(xlsName)

我有一个从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

假设您将在datagridview中显示详细信息。您可以尝试以下代码:

        MyCommand.TableMappings.Add("Table", "TestTable")
        DtSet = New System.Data.DataSet
        MyCommand.Fill(DtSet)
        DataGridView1.DataSource = DtSet.Tables(0)
        MyConnection.Close()
如果要使用变量,必须循环使用数据集:

dim i as integer = 0
for i = 0 to dtset.tables(0).rows.count-1
'Add values to your variable
next

假设您将在datagridview中显示详细信息。您可以尝试以下代码:

        MyCommand.TableMappings.Add("Table", "TestTable")
        DtSet = New System.Data.DataSet
        MyCommand.Fill(DtSet)
        DataGridView1.DataSource = DtSet.Tables(0)
        MyConnection.Close()
如果要使用变量,必须循环使用数据集:

dim i as integer = 0
for i = 0 to dtset.tables(0).rows.count-1
'Add values to your variable
next