如何将多个数据表合并为一个?
问题描述:
我有多个excel文件,我将其作为数据表打开 我想在.net中合并所有这些数据表单的DataTable。如何将多个数据表合并为一个?
例如, Apr09.xls,May09.xls,Jun09.xls
所有有dataas如下
Apr09.xls
EMPCODE,PresentDays
0001 ,30
0002 ,21
May09.xls
EMPCODE,PresentDays
0001 ,25
0002 ,30
新的数据表如下
EMPCODE,PresentDays
0001 ,30
0002 ,21
0001 ,25
0002 ,30
如何创建这个。
答
Datatable.Merge可以使用如下
For Each fileName As String In Directory.GetFiles("C:\\TEMP\\", "*.xls")
Dim connectionString As String = String.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;""", fileName)
Dim adapter As New OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString)
Dim ds As New DataSet
adapter.Fill(ds, "anyNameHere")
Dim TempTable As DataTable
TempTable = ds.Tables.Item("anyNameHere")
table1.Merge(TempTable)
MsgBox(fileName)
Next
DataGridView1.DataSource = table1
MsgBox(table1.Rows.Count)