将多个数据源添加到datagridview vb.net [英] Adding multiple datasources to a datagridview vb.net
问题描述
我有一个 DataGridView
,我正在从多个Excel文件导入数据。但每次导入数据时,它都会覆盖以前的数据。如何获取它将下一个excel文件添加到数据网格视图中的前一个结尾?
I have a DataGridView
that I am importing data into from multiple excel files. But every time I import the data it overwrites the previous data. How do I get it to add the next excel file to the end of the previous in the data grid view?
If DataGridView1.RowCount > 0 Then
MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\Work\4pc_test1.xlsx;Extended Properties=Excel 12.0;")
'MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & fd.FileName & "';Extended Properties=Excel 8.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
MyCommand.TableMappings.Add("Table", "Net-informations.com")
DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)
'DataGridView1.DataSource = DtSet.Tables(0)
Dim tab As DataTable = DtSet.Tables(0)
DataGridView1.DataSource = tab
MyConnection.Close()
Else
'The below connection allows for the opening of .xls files and .xlsx. The one reamed out below doesnt open up .xls files.
MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\Work\4pc_test1.xlsx;Extended Properties=Excel 12.0;")
'MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & fd.FileName & "';Extended Properties=Excel 8.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
MyCommand.TableMappings.Add("Table", "Net-informations.com")
DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)
DataGridView1.DataSource = DtSet.Tables(0)
MyConnection.Close()
End If
推荐答案
你可以简单地填写单次 DataTable
多次,行将以这种方式添加到 DataTable
中。例如:
You can simply fill a single DataTable
multiple times and rows will be added to the DataTable
this way. For example:
Try
Dim table = New DataTable()
Dim connection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=D:\excel1.xlsx;" & _
"Extended Properties=Excel 12.0;"
Using adapter As New OleDbDataAdapter("select * from [Sheet1$]", connection)
adapter.Fill(table)
End Using
connection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=D:\excel2.xlsx;" & _
"Extended Properties=Excel 12.0;"
Using adapter As New OleDbDataAdapter("select * from [Sheet1$]", connection)
adapter.Fill(table)
End Using
Me.DataGridView1.DataSource = table
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
不同Excel文件中的列数可以不同,但是如果有相同名称的列,这些列的数据应该是相同的类型。
Number of columns in different excel files can be different, but if there is columns with the same name, the data of those columns should be of the same type.
这篇关于将多个数据源添加到datagridview vb.net的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!