使用Power Automate合并SharePoint中表头位于第10行的多份Excel文件
核心步骤
设置触发条件
- 添加「当文件创建或修改(属性仅)」触发器,选择目标 SharePoint 站点、对应文档库,文件夹路径指定为
data文件夹。此触发器会在该文件夹内有 Excel 文件上传或修改时触发流程。
- 添加「当文件创建或修改(属性仅)」触发器,选择目标 SharePoint 站点、对应文档库,文件夹路径指定为
获取待合并的 Excel 文件列表
- 添加「获取文件(属性仅)」动作,参数与触发器一致(站点、库、文件夹路径),添加筛选条件:
File extension等于.xlsx(若包含旧版 Excel 可追加.xls),确保只处理目标文件。
- 添加「获取文件(属性仅)」动作,参数与触发器一致(站点、库、文件夹路径),添加筛选条件:
初始化数据存储变量
- 添加「初始化变量」动作,变量名设为
mergedData,类型选择「数组」,用于暂存所有提取到的数据行。
- 添加「初始化变量」动作,变量名设为
循环处理每个 Excel 文件
- 添加「应用到每一个」动作,选择步骤2中获取的文件列表作为循环对象。
- 在循环内添加「获取工作表范围」动作:
- 文件标识符:选择当前循环的文件
- 工作表名称:填写实际工作表名(如
Sheet1,若不确定可先添加「列出工作表」动作获取) - 范围:输入
A11:ZZ(跳过第10行的表头,仅提取数据行) - 勾选「忽略空行」
- 再添加一个「应用到每一个」动作,遍历上述步骤获取的行数据,通过「追加到数组变量」动作将每一行数据添加到
mergedData中。
处理主合并文件
- 添加「获取文件元数据(属性仅)」动作,指定主文件的存储路径(如文档库根文件夹下的
合并主文件.xlsx)。 - 点击动作右上角的「⋮」选择「配置运行后」,设置「失败时」分支:
- 失败分支内添加「创建文件」动作,上传预先准备好的、表头位于第10行的空白 Excel 模板(确保模板结构与源文件一致)。
- 主文件存在的情况下,添加「删除表行」动作:指定主文件的表,设置删除条件为所有行(保留第10行的表头)。
- 添加「获取文件元数据(属性仅)」动作,指定主文件的存储路径(如文档库根文件夹下的
写入合并数据到主文件
- 添加「添加多行到表」动作,选择主文件的目标表,「行」参数选择
mergedData数组,批量写入所有合并数据。
- 添加「添加多行到表」动作,选择主文件的目标表,「行」参数选择
注意事项
- 确保所有源 Excel 文件的结构完全一致(列数、列名对应),避免合并后数据错位。
- 若源文件工作表名称不统一,需在循环内先添加「列出工作表」动作,取第一个工作表进行处理。
- 针对大文件或大量文件的场景,可在「应用到每一个」动作的设置中调整并行度(最高50),或添加「延迟」动作避免超时。
内容的提问来源于stack exchange,提问作者EricP
相关产品推荐
相关产品推荐

