如何将多个数据表合并为一个?

问题描述:

我有多个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)