1

我有多个作为数据表打开的 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

如何创建这个。

4

1 回答 1

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)
于 2009-02-11T06:53:04.970 回答