多個DataTable的合併成乙個新錶

2021-08-26 16:30:26 字數 2824 閱讀 6192

**:

有時我們知道了兩個datatable1和datatable2,我們希望將它們合併為乙個新的datatable(下面的例子中命名為了newdatatable),這就分為兩種情況:datatable1和datatable2結構相同、datatable1和datatable2結構不同,下面分別介紹怎麼進行合併。

一、datatable1和datatable2結構相同的情況,結構相同我們只需要把兩者的資料羅列到一塊就可以了

首先初始化相同結構datatable(測試用的)

void initdatatable1(datatable dt)

void initdatatable2(datatable dt)

複製**

合併方法1:用rows.add方法

datatable newdatatable = datatable1.clone();

object obj = new object[newdatatable.columns.count];

//新增datatable1的資料

for (int i = 0; i < datatable1.rows.count; i++)

//新增datatable2的資料

for (int i = 0; i < datatable2.rows.count; i++)

複製**

合併方法2:用datatable.importrow方法

//拷貝datatable1的結構和資料

datatable newdatatable = datatable1.copy();

//新增datatable2的資料

foreach (datarow dr in datatable2.rows)

複製**

其實新增datatable1的結構和資料有兩種方法

//轉殖datatable1的結構

datatable newdatatable = datatable1.clone();

object obj = new object[newdatatable.columns.count];

//新增datatable1的資料

for (int i = 0; i < datatable1.rows.count; i++)

複製**

或者直接用自帶的copy方法 datatable newdatatable = datatable1.copy();

二、datatable1和datatable2結構不同相同的情況,我們可以先向新錶中新增datatable1的資料,然後再向每行的後面新增新增datatable2的資料,注意兩者的行數不一定相同。

首先初始化相同結構datatable(測試用的)

void initdatatable1(datatable dt)

void initdatatable2(datatable dt)

複製**

方法(1)先新增第乙個表,再新增第二個表

///

/// 將兩個列不同(結構不同)的datatable合併成乙個新的datatable

//////表1

///表2

///合併後新的表名

///合併後的新錶

private datatable unitedatatable(datatable datatable1, datatable datatable2, string dtname)

object obj = new object[newdatatable.columns.count];

//新增datatable1的資料

for (int i = 0; i < datatable1.rows.count; i++)

if (datatable1.rows.count >= datatable2.rows.count)}}

else

for (int i = 0; i < datatable2.rows.count; i++)}}

newdatatable.tablename = dtname; //設定dt的名字

return newdatatable;

複製**

方法(2)先新增行數多的表。其實我們也可以先判斷哪個表的行數多,就先新增哪個表,然後再新增行少的表就可以了。

///

/// 將兩個列不同(結構不同)的datatable合併成乙個新的datatable

//////表1

///表2

///合併後新的表名

///合併後的新錶

private datatable unitedatatable2(datatable datatable1, datatable datatable2, string dtname)

else

newdatatable.tablename = dtname; //設定dt的名字

return newdatatable;

}private datatable filldata(datatable dt1, datatable dt2)

object obj = new object[newdatatable.columns.count];

//新增datatable1的資料

for (int i = 0; i < dt1.rows.count; i++)

for (int i = 0; i < dt2.rows.count; i++)

}return newdatatable;

}

多個陣列合併成乙個,多個物件合併成乙個

多個陣列合併成乙個 ver arrry arr1.concat arr2 concat arr3 concat arr4 concat arr4 兩個物件合併成乙個。let para let para2 let a object.assign para,para2,a就是object.assign ...

合併結構相同,不同,或多個DataTable

下面是轉貼的,結構相同的datatable合併有個方法很簡單的 datatable.merge datatable 將指定的 datatable與當前的datatable合併 兩個結構一樣的dt合併 datatable datatable1 new datatable datatable datat...

多個EXCEL檔案合併成乙個

python的numpy處理起來會比較方便,有空實現一下,這裡是excel內部 的方式 合併方法如下 1.需要把多個excel表都放在同乙個資料夾裡面,並在這個資料夾裡面新建乙個excel。如圖所示 2.用microsoft excel開啟新建的excel表,並右鍵單擊sheet1,找到 檢視 單擊...