Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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 从Excel表到datatable_Vb.net_Datatable_Import From Excel - Fatal编程技术网

Vb.net 从Excel表到datatable

Vb.net 从Excel表到datatable,vb.net,datatable,import-from-excel,Vb.net,Datatable,Import From Excel,我试图将整个Excel表添加到datatable中,并声明如下变量: workbook = APP.Workbooks.Open(fileString) worksheet = workbook.Worksheets("Report") 它能够从Excel文件中读取数据。我已使用消息框选中: MsgBox(worksheet.Cells(1, 1).Value) 这是可行的,但我找不到将Excel文件中的值添加到我的数据表中的方法: Dim table As New DataTable t

我试图将整个Excel表添加到datatable中,并声明如下变量:

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")

有人能帮我吗?

你可以用一些图书馆来做这件事 例如NPOI()或Epplus()
或者

您可以使用oledb将excel导出到datatable

注意:

因为我们要使用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
希望这有帮助