You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MS Teams中创建可查询Excel数据的Bot(Autopilot)

在MS Teams中创建查询Excel数据的Autopilot Bot实现方案

准备工作

  • 将目标Excel表格存储在OneDrive for Business或SharePoint Online(本地Excel无法直接通过Power平台连接,这大概率是你之前用Flow失败的核心原因)
  • 确保Excel数据已格式化为表格:选中姓名、数值列的所有数据区域,点击「开始」选项卡→「格式为表格」,并确认表头为「姓名」(列A)、「数值」(列B)

方法一:Power Virtual Agents(Autopilot)+ Power Automate 快速实现

这是最适合非开发人员的方案,修正你之前Flow配置的问题即可:

步骤1:创建Power Virtual Agents机器人

  1. 登录Power Virtual Agents门户,新建机器人时选择「Teams」作为部署渠道
  2. 创建名为「查询数值」的话题,设置触发短语:
    • "查询{姓名}的数值"
    • "{姓名}的数值是多少"
      将短语中的「姓名」标记为实体,选择内置的「PersonName」或自定义文本实体,确保能正确识别用户输入的姓名

步骤2:配置Power Automate流读取Excel数据

  1. 在话题编辑界面,添加「调用流」操作,新建Power Automate流
  2. 流的触发源选择「Power Virtual Agents → 当收到来自Power Virtual Agents的请求」
  3. 添加「列出行 present in 表格」操作:
    • 选择Excel所在的存储位置(OneDrive/SharePoint)、对应文件及表格名称
  4. 添加「筛选数组」操作:
    • 输入内容为「列出行」的输出结果
    • 筛选条件设置为:@equals(item()?['姓名'], triggerBody()?['姓名'])
  5. 添加「响应Power Virtual Agents」操作:
    • 逻辑判断:若筛选结果不为空,返回concat(triggerBody()?['姓名'], '的数值是:', first(body('筛选数组'))?['数值']);若为空,返回未找到姓名为「", triggerBody()?['姓名'], "」的记录
  6. 保存流,回到Power Virtual Agents完成话题配置,测试对话逻辑

步骤3:部署到Teams工作区

  1. 在Power Virtual Agents的「部署」选项卡,选择「Teams」,添加到你的工作Teams
  2. 配置机器人的权限,确保同事能在Teams应用列表中找到并使用它

常见问题排查(解决你之前Flow失败的可能原因)

  • 权限问题:检查Power Automate连接Excel时的授权状态,重新授权确保有读取文件的权限
  • Excel格式问题:必须将数据区域格式化为表格,否则「列出行」操作无法识别数据结构
  • 实体/列名不匹配:话题中的「姓名」实体要和Excel表头名称完全一致(包括大小写)

方法二:Bot Framework SDK 自定义开发(适合有开发能力的场景)

如果需要更灵活的功能,可以用Bot Framework自定义开发:

  1. 使用C#或JavaScript开发Bot,通过Microsoft Graph API读取Excel数据(需申请Files.Read.All权限)
  2. 在Bot Framework门户注册机器人,配置Teams频道
  3. 实现对话逻辑:接收用户输入的姓名,调用Graph API查询对应行的数值并返回结果
  4. 将Bot部署到Azure App Service,发布到目标Teams工作区

内容的提问来源于stack exchange,提问作者GabryelGritz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 04:17:48