使用datagridview将数据从excel导入datagridview在vb.net中已经有列
所以我想将数据从excel导入datagridview。Datagridview已经有列,当我尝试导入时,excel中的数据不会在Datagridview中的列中排列,而是会在右侧创建新列。如何解决这个问题 代码如下:使用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
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谢谢你的帮助,我是这个网站的新手,所以我需要学习更多关于格式的知识。