如何创建Power Automate流更新SharePoint列表附件日期列
前置准备
先在你的SharePoint列表中新增一列:
- 列名:
附件插入日期 - 类型:日期和时间(可根据需求选择「仅日期」或「日期和时间」格式)
- 无需设置默认值,保持为空即可
方案一:一次性流处理现有旧数据
用于批量更新已存在列表项的附件日期:
- 打开Power Automate,新建即时云端流,触发选择「手动触发流」(可添加可选输入字段备注,方便识别)
- 添加「获取项目」动作:
- 选择目标SharePoint站点和列表
- 若列表数据超过100条,开启分页:点击动作右上角「...」→「设置」,将分页改为「开启」,阈值设为5000(平台最大支持值)
- 添加「应用到每一个」动作,选择「获取项目」输出的「值」(即所有列表项)
- 在循环内添加「获取附件」动作:选择站点、列表,「ID」绑定当前循环项的ID
- 添加「条件」动作,判断附件是否存在:
- 左侧输入表达式:
length(body('获取附件')?['value']) > 0 - 条件为「是」时,添加「更新项目」动作:
- 选择站点、列表,「ID」绑定当前项ID
- 「附件插入日期」字段:
- 记录首次附件上传日期:取所有附件中最早的创建时间,表达式为
min(body('获取附件')?['value'], 'Created') - 记录最新附件上传日期:取所有附件中最晚的创建时间,表达式为
max(body('获取附件')?['value'], 'Created')
- 记录首次附件上传日期:取所有附件中最早的创建时间,表达式为
- 条件为「否」时,可选择不处理,或手动将「附件插入日期」设为空(按需选择)
- 左侧输入表达式:
- 保存流后,手动触发一次,即可批量更新旧数据
方案二:自动流处理新插入/修改数据
用于实时处理Power App新增或编辑的列表项:
- 新建自动化云端流,触发选择「当项目被创建或修改时」(SharePoint触发),选择目标站点和列表
- 添加「获取附件」动作:选择站点、列表,「ID」绑定触发项的ID
- 添加「条件」动作,判断附件是否存在(表达式同方案一:
length(body('获取附件')?['value']) > 0)- 条件为「是」时,添加嵌套条件:
- 判断「附件插入日期」是否为空:左侧输入表达式
empty(triggerBody()?['附件插入日期']) - 若为空(首次添加附件):执行「更新项目」,设置「附件插入日期」为附件的创建时间(首次或最新,同方案一)
- 若不为空:
- 只需记录首次日期:直接跳过更新
- 需记录最新附件日期:执行「更新项目」,将「附件插入日期」更新为最新附件的创建时间
- 判断「附件插入日期」是否为空:左侧输入表达式
- 条件为「否」时:可选择将「附件插入日期」设为空(若需要移除已删除附件的日期记录)
- 条件为「是」时,添加嵌套条件:
- 保存流后,后续Power App新增/修改项、手动编辑项时,流会自动触发更新日期
关键细节
- 附件的
Created字段是SharePoint服务器记录的上传时间,不是本地文件的创建时间 - 处理大量数据时,可调整「应用到每一个」的并行度(动作设置里修改,默认20,最高可设50,避免触发API限制)
- 测试时先使用少量数据验证逻辑,再批量运行旧数据处理流
内容的提问来源于stack exchange,提问作者Blinkclaw
相关产品推荐
相关产品推荐

