将Excel文件数据导出到Datatable

时间:2018-06-13 10:35:49

标签: vb.net visual-studio-2010 excel-2010

我想知道是否有推荐的方法使用VB.NET将Excel文件(.xlsx)的数据导入Datatable但不知道Excel文件的结构。换句话说,用户将下载没有一致性的Excel文件。标题可以从C1而不是A1开始。任何东西都可以在任何地方,Excel文件不会遵循特定的结构。我在互联网上找到的所有例子似乎都假设Excel文件没有空格,没有合并,所有数据都在行和列之间平均分配。

对于任何可能遍历整个Excel文件的库的建议,获取文本并将其粘贴到Datatable中?

我正在使用SQL,因为它已经过测试,所以事情的一面都可以。

1 个答案:

答案 0 :(得分:0)

您不能只这样做吗select *

Imports System.Data
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim MyConnection As System.Data.OleDb.OleDbConnection
            Dim DtSet As System.Data.DataSet
            Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
            MyConnection = New System.Data.OleDb.OleDbConnection _
            ("provider=Microsoft.Jet.OLEDB.4.0;"  _
            " Data Source='c:\testfile.xls'; " _
             "Extended Properties=Excel 8.0;")
            MyCommand = New System.Data.OleDb.OleDbDataAdapter _
                ("select * from [Sheet1$]", MyConnection)
            MyCommand.TableMappings.Add("Table", "TestTable")
            DtSet = New System.Data.DataSet
            MyCommand.Fill(DtSet)
            DataGridView1.DataSource = DtSet.Tables(0)
            MyConnection.Close()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class