Power Automate双数组同步更新SharePoint列表求助
方法一:通过计数器变量匹配对应索引元素
无需合并数组,直接在循环中通过索引关联两个数组元素,快速实现需求:
初始化计数器变量
- 添加「Initialize variable」动作,变量类型选Integer,名称设为
CurrentIndex,默认值设为0
- 添加「Initialize variable」动作,变量类型选Integer,名称设为
遍历Name数组
- 添加「Apply to each」动作,输入选择你的
Name数组变量
- 添加「Apply to each」动作,输入选择你的
在循环内创建SharePoint条目
- 循环内添加「Create item」动作(对应你的SharePoint列表):
- Date列:填入所需日期(比如邮件提取的日期或
utcNow()) - Name列:用
@{items('Apply_to_each')}获取当前循环的Name元素 - ID列:用
@{variables('ID')[variables('CurrentIndex')]}调用ID数组中对应索引的元素
- Date列:填入所需日期(比如邮件提取的日期或
- 最后添加「Increment variable」动作,将
CurrentIndex的值加1,确保下一次循环匹配正确索引
- 循环内添加「Create item」动作(对应你的SharePoint列表):
方法二:先合并数组为JSON对象数组,再遍历
若需统一管理数据结构,可先将两个数组合并为JSON对象数组,再批量创建条目:
初始化合并数组变量
- 添加「Initialize variable」动作,变量类型选Array,名称设为
CombinedArray,默认值留空
- 添加「Initialize variable」动作,变量类型选Array,名称设为
初始化计数器变量
- 添加「Initialize variable」动作,变量类型Integer,名称
CurrentIndex,默认值0
- 添加「Initialize variable」动作,变量类型Integer,名称
遍历Name数组并合并数据
- 添加「Apply to each」动作,输入选择
Name数组 - 循环内添加「Append to array variable」动作,目标变量选
CombinedArray,值填入如下JSON结构:{ "Location Name": "@{items('Apply_to_each')}", "Token": "@{variables('ID')[variables('CurrentIndex')]}" } - 添加「Increment variable」动作,将
CurrentIndex加1
- 添加「Apply to each」动作,输入选择
遍历合并数组创建SharePoint条目
- 添加新的「Apply to each」动作,输入选择
CombinedArray - 循环内添加「Create item」动作:
- Date列:按需填入日期
- Name列:用
@{items('Apply_to_each')?['Location Name']}提取合并对象中的名称 - ID列:用
@{items('Apply_to_each')?['Token']}提取合并对象中的ID
- 添加新的「Apply to each」动作,输入选择
关键注意事项
- 必须确保
Name和ID数组长度完全一致,否则会出现索引越界错误。可添加「Condition」动作前置判断:length(variables('Name')) equals length(variables('ID')),不一致时触发提醒或截断多余元素 - 若数组内存在重复元素,不要用
indexOf方法匹配索引,计数器变量的方式更可靠
内容的提问来源于stack exchange,提问作者nathan guzman
相关产品推荐
相关产品推荐

