Power Automate手动流配置求助:按员工ID匹配发送SharePoint文档
Power Automate手动流:匹配员工文档并发送邮件解决方案
问题根源
手动流中Get file (properties only)会返回目标文件夹下所有文件的数组,所以系统自动生成Apply to each循环。我们需要把循环逻辑聚焦在员工数据行上,而不是文件列表上,就能解决这个问题。
具体操作步骤
- 新建手动流,添加
Manually trigger a flow作为触发节点。 - 添加
List rows present in a table动作,选择存储员工信息的Excel文件和对应表格,拉取所有员工的Employee #与Employee Email数据。 - 此时系统会自动生成
Apply to each循环(这个循环是必要的,要逐个处理每个员工),将List rows present in a table的输出设为循环的数据源。 - 在循环内部,先添加
Get files (properties only)动作,选择"employee documents"文件夹;接着添加Filter array动作:- 输入源选择
Get files (properties only)的输出结果 - 筛选条件设置为:
File name等于「当前循环行的Employee #+ 文档后缀」(比如.docx,根据你实际的Word文档后缀调整)
- 输入源选择
- 筛选到对应文件后,添加
Get file content动作,文件标识符选择first(body('Filter_array'))?['Identifier'](取筛选结果里的第一个文件,确保每个ID对应唯一文件)。 - 最后添加
Send an email (V2)动作:收件人填当前循环行的Employee Email,附件选择Get file content的输出,按需设置邮件主题和正文。
重要提示
- 必须保证Excel中的
Employee #和文件名完全匹配,包括后缀(如果文件名带后缀的话),否则筛选不到对应文件。 - 可以在
Filter array后加一个Condition动作,判断筛选结果是否为空,为空时可以跳过发送或发送一个提醒邮件,避免流出错。 - 把
Get files (properties only)放在循环外部可以只执行一次,减少重复读取文件夹的操作,提升流的运行效率。
内容的提问来源于stack exchange,提问作者lyn
相关产品推荐
相关产品推荐

