You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Automate Desktop中合并列数同列名不同的DataTable?

在Power Automate Desktop中合并列名不同但列数相同的DataTable(无需foreach循环)

可以实现该需求,核心思路是先将DT2的列名修改为与DT1完全一致(操作DT2的副本,不影响原输入数据),再执行Merge操作即可按DT1的结构追加数据。

调整后的C#脚本

// 克隆DT2的副本,避免修改原始输入数据
DataTable dt2Clone = DT2.Copy();

// 将副本的列名批量修改为与DT1对应列的名称(按列顺序匹配)
for (int i = 0; i < dt2Clone.Columns.Count; i++)
{
    dt2Clone.Columns[i].ColumnName = DT1.Columns[i].ColumnName;
}

// 合并修改后的DT2副本到DT1,此时列名完全匹配,数据会正确追加
DT1.Merge(dt2Clone);
FinalTable = DT1.DefaultView.ToTable();

脚本参数设置(与原设置一致)

.NET参数名类型方向输入值输出变量
DT1Datatable输入%DataTable%
DT2Datatable输入%DataTable2%
FinalTableDatatable输出%TemporalTable%

原理说明

  1. 使用DT2.Copy()创建DT2的完整副本,确保原输入的DataTable不会被修改;
  2. 通过for循环按列顺序将副本的列名替换为DT1的列名,解决Merge时列名不匹配的问题;
  3. 执行DT1.Merge(dt2Clone)时,因为两张表的列结构(列名、列数、类型)完全一致,DT2的行会直接追加到DT1中,不会新增列或产生空行。

内容的提问来源于stack exchange,提问作者Juan David Puello Gómez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 03:37:40