使用 Scheduled cloud flow → HTTP → Parse JSON → Excel Online (Business) 流程。明确 API 主机和响应字段,保护流程中的密钥,并在汇率旁保存 source、market_session 和 data_updated_at,保留数据时间背景。
FxRates 的 Excel 表。准备 Excel 工作簿
在 OneDrive for Business 或 SharePoint 文档库中创建 .xlsx 工作簿。添加名为 FxRates 的表,列名为 CheckedAtUtc、Base、EUR、GBP、JPY、EURSource、GBPSource、JPYSource、MarketSession、DataUpdatedAt、EUREffectiveAt、GBPEffectiveAt、JPYEffectiveAt。Power Automate 的 Excel Online (Business) 连接器向命名表写入行,不能任意指定一个单元格区域。
创建定时云端流程
在 Power Automate 中选择 Create → Scheduled cloud flow。根据报表需要设置重复周期并选择正确的时区。添加 HTTP 操作,使用 GET 和以下 URL:
不要把密钥放在 URL 中。生产流程应使用机密环境变量或经过批准的 connection-reference 方式,并为传递该值的操作启用 secure inputs/outputs。下载的流程配置说明提供准确的操作名、Parse JSON 架构和 Excel 映射;它不是可直接导入任意环境的部署包。
写入前解析响应
添加 Parse JSON,以 HTTP body 作为 content。要求存在 result、base、rates、sources、effective_at、market_session 和 data_updated_at。成功响应包含一个 rates 对象及按币种区分的 sources 对象;不要用流程执行时间推断汇率新旧。
向 Excel 追加一行
添加 Excel Online (Business) → Add a row into a table。选择工作簿和 FxRates,将 rates.EUR、rates.GBP、rates.JPY 映射至汇率列,同时映射各币种的 sources、effective_at 及响应层的 market_session、data_updated_at。为兼容旧客户端,data_updated_at 表示响应中最早的有效观测时间;判断某个币种时应查看其 effective_at 列。只将 utcNow() 用于 CheckedAtUtc,因为它表示流程运行时间,而非市场观测时间。
FxRates,避免刷新相互重叠。处理 HTTP 和 Excel 失败
添加失败分支,把运行链接和 HTTP 状态写入运维表,或发送内部告警。Parse JSON 失败后不要追加行,也不要用零替代缺失汇率。遇到 429 时遵循响应中的重试建议,并先减少运行频率或请求币种,再增加重试。将重复触发并发数设为 1,限制重试次数。30 天内每天一次约用 30 个 API 请求,每小时一次约用 720 个,均未计重试。多个币种仍属于同一个请求;Power Automate 操作另有许可用量限制。
核实许可与连接器限制
微软的 Power Automate 许可 FAQ说明 Free 和 Microsoft 365 可访问标准连接器,而高级连接器需要相应的 Premium 或 Process 许可。承诺流程可部署前,检查设计器中的 HTTP 操作卡和租户政策;本示例不承诺免费套餐可用。Excel Online (Business) 文档列出了请求限制、25 MB 工作簿上限及并发限制。Azure Logic Apps 是独立产品,有自己的托管和计费方式,其价格不能决定 Power Automate 使用权限。
