Vb.net “错误”;无法创建字段[Sheet1$]的子列表";将数据从excel加载到datagridview时

Vb.net “错误”;无法创建字段[Sheet1$]的子列表";将数据从excel加载到datagridview时,vb.net,excel,datagridview,import,Vb.net,Excel,Datagridview,Import,我试图用excel文件中的数据填充DataGridView(本例中为grvExcelData)。但我得到了以下错误: “无法创建字段[Sheet1$]的子列表” 下面是我试图填充数据网格视图的代码片段。我还使用VisualStudio2010进行编程 提前谢谢你的帮助 Public Sub fillgrid() Dim conn1 As String conn1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & f

我试图用excel文件中的数据填充
DataGridView
(本例中为grvExcelData)。但我得到了以下错误:

“无法创建字段[Sheet1$]的子列表”

下面是我试图填充数据网格视图的代码片段。我还使用VisualStudio2010进行编程

提前谢谢你的帮助

Public Sub fillgrid()

    Dim conn1 As String
    conn1 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & filenamepath & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=2"""

    Dim connection As OleDbConnection = New OleDbConnection(conn1)
    Dim da As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM [Sheet1$]", connection)
    Dim ds As DataSet = New DataSet()

    Dim emptyfile As String = "The file does not have any records for inserting."
    Dim selectCmd As OleDbCommand = New OleDbCommand()
    selectCmd.Connection = connection

    selectCmd.CommandText = "SELECT * FROM [Sheet1$]"

    If connection.State = ConnectionState.Closed Then
        connection.Open()
    End If

    da.SelectCommand = selectCmd
    Dim dsCounter As Integer = da.Fill(ds, "[Sheet1$]")

    If dsCounter = 0 Then
        MessageBox.Show(emptyfile, "dsCounter")
    End If

    grvExcelData.DataSource = ds
    grvExcelData.DataMember = "Sheet1"
    grvExcelData.SelectionMode = DataGridViewSelectionMode.FullRowSelect

    da.Dispose()

    If connection.State = ConnectionState.Open Then
        connection.Close()
    connection.Dispose()
    End If

End Sub
改变

改变

grvExcelData.DataMember = "Sheet1"


尝试将grvExcelData.DataSource=ds grvExcelData.DataMember=“Sheet1”替换为:grvExcelData.DataSource=ds.Table(0)尝试将grvExcelData.DataSource=ds grvExcelData.DataMember=“Sheet1”替换为:grvExcelData.DataSource=ds.Table(0)可能有点晚了,但我也有同样的问题,我的DataMember是“[Sheet1$]”。关于这一点还有其他想法吗?nvm我添加了IMEX=1位,我得到了它。可能有点晚了,但我有同样的问题,我确实有“[Sheet1$]”作为我的数据成员。关于这个问题还有其他想法吗?nvm我添加了IMEX=1位,我得到了它。
grvExcelData.DataMember = "[Sheet1$]"