【问题标题】:retrieve excel data by each cell using oledb connection使用 oledb 连接按每个单元格检索 excel 数据
【发布时间】:2013-08-02 15:16:08
【问题描述】:

我有一个代码用于从 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 连接。连接后,我真的不知道该怎么做才能获取数据。请帮助我...我希望stackoverflow中的人可以帮助我。

         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

【问题讨论】:

    标签: vb.net excel oledb


    【解决方案1】:

    假设您将在 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
    

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      • 2022-10-07
      • 2013-04-03
      • 1970-01-01
      • 2015-03-13
      • 1970-01-01
      相关资源
      最近更新 更多