如何通过Power Automate将SharePoint含多选列的列表数据导出至Excel?
核心逻辑
SharePoint的多选列在Power Automate里返回的是数组对象,直接往Excel里塞会乱码或不显示,得先转成逗号分隔的字符串;单选列直接取字段值即可,把这俩处理逻辑结合,就能同时导出两类列的数据。
具体操作步骤
拉取SharePoint列表数据
- 添加「获取项目」动作,选定目标站点和列表。
- 若列表字段较多,可在「选择查询」中指定需要导出的字段,提升流的执行效率。
遍历处理每条列表项
- 添加「应用到每一个」动作,将「获取项目」返回的「值」设为遍历对象。
- 在循环内分别处理两类字段:
- 单选列:直接引用字段值,示例写法
@{items('Apply_to_each')?['SingleChoiceCol']}(将SingleChoiceCol替换为你的单选列内部名称)。 - 多选列:用
join()函数将数组转换为字符串,示例写法@{join(items('Apply_to_each')?['MultiChoiceCol/Value'], ', ')}(替换MultiChoiceCol为你的多选列内部名称,', '是分隔符,可按需改为分号等)。
- 单选列:直接引用字段值,示例写法
写入Excel文件
- 若未创建目标Excel表格,先添加「创建表格」动作,指定Excel文件路径和工作表,表头包含所有要导出的列名(包括多选列的表头)。
- 添加「添加行到表格」动作,将处理后的单选列值和转换后的多选列字符串,对应填入表格的各列中。
关键注意点
- 确认列的内部名称:SharePoint列的显示名和内部名可能不一致,可通过列表设置→点击列名,查看地址栏中
Field=xxx的xxx部分获取内部名。 - 若多选列是「查找类型」,字段路径需改为
MultiLookupCol/Title,将Value替换为Title。 - 测试阶段先选取少量列表项,避免因数据量过大导致流执行超时。
内容的提问来源于stack exchange,提问作者CarlE
相关产品推荐
相关产品推荐

