【问题标题】:Excel table to datatableExcel表格转数据表
【发布时间】:2015-04-16 11:07:34
【问题描述】:

我正在尝试将整个 Excel 表添加到数据表中并声明如下变量:

workbook = APP.Workbooks.Open(fileString)
worksheet = workbook.Worksheets("Report")

它可以从 Excel 文件中读取。我已经使用消息框进行了检查:

MsgBox(worksheet.Cells(1, 1).Value)

这可行,但我找不到将 Excel 文件中的值添加到我的数据表中的方法:

Dim table As New DataTable

table.Columns.Add("DATE")
table.Columns.Add("VALUE")

谁能帮我解决这个问题?

【问题讨论】:

    标签: vb.net datatable import-from-excel


    【解决方案1】:

    你可以使用一些库来做到这一点 例如 NPOI (example) 或 Epplus (example) 或use OleDb provider

    【讨论】:

      【解决方案2】:

      您可以使用 oledb 将 Excel 导出到数据表中

      注意:

      因为我们要使用 oledb 连接,所以我们必须导入 System.Data.OleDb

      试试下面的代码

      Dim dt As New DataTable
              dt.Columns.Add("date")
              dt.Columns.Add("value")
              Dim dr As DataRow = dt.NewRow()
              Time = System.DateTime.Now
              Try
                  XLDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\name.xls;Extended Properties=""Excel 8.0;IMEX=1;HDR=YES;""") 'give your file path in source
              Catch ex As Exception
                  Throw (ex)
                  Exit Sub
              End Try
              XLDbConnection.Open()
              Try
                  XLDbCommand = New OleDbCommand("select * from [sheet1$]", XLDbConnection) 'sheet1 is name of the excel sheet
                  XLDbDataReader = XLDbCommand.ExecuteReader
              Catch ex As Exception
      
                  Throw (ex)
                  Exit Sub
              End Try
              If XLDbDataReader.HasRows = True Then
                  'Assign excel data to datacolumn of our datatable
                  While XLDbDataReader.Read
                      Try
                          dr("date") = XLDbDataReader.Item("date").ToString() 'column name as it is in excel file 
                          dr("value") = XLDbDataReader.Item("value").ToString()
                          dt.Rows.Add(dr)
                      Catch ex As Exception
                          Throw (ex)
                      End Try
                  End While
              End If
      

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 2017-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-14
        • 1970-01-01
        • 1970-01-01
        • 2016-05-28
        相关资源
        最近更新 更多