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 に答える