使用datagridview将数据从excel导入datagridview在vb.net中已经有列

使用datagridview将数据从excel导入datagridview在vb.net中已经有列,excel,vb.net,datagridview,Excel,Vb.net,Datagridview,所以我想将数据从excel导入datagridview。Datagridview已经有列,当我尝试导入时,excel中的数据不会在Datagridview中的列中排列,而是会在右侧创建新列。如何解决这个问题 代码如下: Dim conn As OleDbConnection Dim dta As OleDbDataAdapter Dim dts As DataSet Dim excel As String Dim OpenFileDialog As New OpenFileDialog

所以我想将数据从excel导入datagridview。Datagridview已经有列,当我尝试导入时,excel中的数据不会在Datagridview中的列中排列,而是会在右侧创建新列。如何解决这个问题

代码如下:

Dim conn As OleDbConnection
Dim dta As OleDbDataAdapter
Dim dts As DataSet
Dim excel As String
Dim OpenFileDialog As New OpenFileDialog

     Try
        OpenFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
        OpenFileDialog.Filter = "XLS files (*.xls, *.xlt)|*.xls;*.xlt|XLSX files (*.xlsx, *.xlsm, *.xltx, *.xltm)|*.xlsx;*.xlsm;*.xltx;*.xltm"
        If OpenFileDialog.ShowDialog = System.Windows.Forms.DialogResult.OK Then
            Dim fi As New IO.FileInfo(OpenFileDialog.FileName)
            Dim filename As String = OpenFileDialog.FileName
            excel = fi.FullName
            conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & excel & ";Extended Properties=Excel 12.0;")
            dta = New OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn)
            dts = New DataSet
            dta.Fill(dts, "[Sheet1$]")
            DataGridView1.DataSource = dts
            DataGridView1.DataMember = "[Sheet1$]"
            conn.Close()

        End If

    Catch ex As Exception
        MsgBox(ex.Message)
        conn.Close()
    End Try

只需在代码中写这一行,并首先添加几列来测试此代码:

 DataGridView1.AutoGenerateColumns = True

此语句不会影响datagridview的现有列,也不会向datagridview添加新列。

。您能告诉我如何在代码中实现此功能吗?如果要将数据绑定到已经有列的网格,您需要设置每个列的
DataPropertyName
属性,以便它知道要绑定到数据源的哪个属性/列。如果正确设置了
DataPropertyName
属性,则
AutoGenerateColumns
的值不相关,除非您的数据源具有您不需要的额外属性/列;我不想显示在网格中。在你问之前,我不会告诉你该怎么做。这是一个为每列设置一个属性的简单示例,如果要在设计器中添加列,则很可能在设计器中执行此操作。如果不确定,请先阅读相应的文档。VS有一个帮助菜单是有原因的。谢谢你这个家伙。你不知道自己的帮助有多大1)不要在回答语句中使用粗体,而只是突出显示特定的关键字。2) 你需要告诉我这条线是如何有助于situation@NitinSingh谢谢你的帮助,我是这个网站的新手,所以我需要学习更多关于格式的知识。