C#进行表格datatable融合

C#进行表格datatable融合_第1张图片

假设有多个格式一样的表格(dt1,dt2,dt3....)将他们融合:

创建一个新的表格:

DataTable allData = new DataTable();

随便克隆一个表的结构(因为所有表结构一样,所以就随便了)

allData =dt1.Clone();//克隆表结构

//清空行

allLayersData.Rows.Clear();

实际上datatable原始的就是object类型,我们用object[]数组去存储克隆数据(比如int装箱成object)
object[] obj = new object[allLayersData.Columns.Count];

循环所有的datatable

#region//融合表
DataTable mdataTable = (dt1、dt2、dt3、......);
for (int i = 0; i < mdataTable.Rows.Count; i++)
{
          //将行复制到obj中
          mdataTable.Rows[i].ItemArray.CopyTo(obj, 0);
           //添加行(这一步将object[]中的每一个object数据类型再转回去{比如object拆箱成int})
          allLayersData.Rows.Add(obj);
 }
#endregion

这样就可以将表融合。

下面是装箱拆箱的解释。

C#进行表格datatable融合_第2张图片

你可能感兴趣的:(C#进行表格datatable融合)