2009-02-11 3 views
1

У меня есть несколько файлов excel, которые я открываю как datatable. Я хочу объединить все эти данные с одним DataTable в .net.Как объединить несколько данных в один?

например, 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 

Как это создать.

ответ

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) 
Смежные вопросы