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

时间:2009-02-11 06:51:00

标签: .net database datatable

我有多个excel文件,我打开它作为数据表 我想在.net中合并所有这些数据表单个DataTable。

例如 Apr09.xls,May09.xls,Jun09.xls

所有数据如下

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

如何创建。

1 个答案:

答案 0 :(得分:1)

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)