将数据表复制为另一个数据表中的列

Roc*_*shy 6 c# datatable

我有几个DataTable,我需要将它们复制到另一个DataTable中.例如,正如您在附图中看到的那样,我需要从源表1中获取所有数据并将其复制到Dest Table的前2列中,在接下来的2列中复制Source Table 2,依此类推.如何轻松实现这一目标?

在此输入图像描述

编辑:我必须阅读几个excel文件(我将每个文件存储在数据表中),我不知道我将拥有多少源表,因此必须以某种方式动态完成.

Ale*_*lex 6

假设您的源表具有相同的结构,您可以使用Table.Copy()创建dest表,然后在循环中复制数据:

List<DataTable> sourceTables = getYourSourceTablesMethod();
if (sourceTables.Length>0)
{
    DataTable destTable = sourceTables[0].Copy();  

    for (int i = 1; i < sourceTables; i++) 
    {
       foreach (DataRow drow in sourceTables[i].Rows) 
       destTable.Rows.Add(drow.ItemArray);
    }
}
Run Code Online (Sandbox Code Playgroud)