学习/Power Automate 入门

使用 Power Automate 更新 Excel 汇率

创建定时 Power Automate 云端流程,获取 exchangerate.dev JSON,解析带来源信息的汇率,并向 Excel 表追加一行。

ERexchangerate.dev·Sep 29, 2026·阅读约 7 分钟

使用 Scheduled cloud flow → HTTP → Parse JSON → Excel Online (Business) 流程。明确 API 主机和响应字段,保护流程中的密钥,并在汇率旁保存 source、market_session 和 data_updated_at,保留数据时间背景。

要点
在 OneDrive for Business 或 SharePoint 中创建名为 FxRates 的 Excel 表。
使用定时云端流程,通过一个 HTTP 请求获取所有所需币种。
先解析 JSON,再把汇率映射到 Excel 列。
保存来源、市场时段和 data_updated_at。
核实 Power Automate 租户中 HTTP 操作的使用权限,不要假定 Free 或 Microsoft 365 已包含;Logic Apps 有独立的服务和计费方式。

准备 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:

HTTP · GETcopy
https://api.exchangerate.dev/v1/latest/USD?symbols=EUR,GBP,JPY

Authorization: Bearer <value from a protected flow variable>

不要把密钥放在 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 对象;不要用流程执行时间推断汇率新旧。

Parse JSON · minimum schemacopy
{"type":"object","required":["result","base","rates","sources","effective_at","market_session","data_updated_at"],"properties":{"result":{"type":"string","enum":["success"]},"base":{"type":"string"},"rates":{"type":"object","additionalProperties":{"type":"number"}},"sources":{"type":"object","additionalProperties":{"type":"string"}},"effective_at":{"type":"object","additionalProperties":{"type":"string"}},"market_session":{"type":"string"},"data_updated_at":{"type":"string"}}}

向 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,因为它表示流程运行时间,而非市场观测时间。

每张工作表只保留一个写入流程
微软说明 Excel 连接器提交的修改可能延迟最多 30 秒,并警告不要由多个客户端同时修改。让本流程负责写入 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 使用权限。

仅供参考的汇率
这些值用于报表、规划、估算和分析,不是可执行报价,不得用于受监管交易的结算。
ER
exchangerate.dev
面向外汇数据应用开发者的集成指南。

继续阅读

Tutorial通过 Power Query 在 Excel 中获取最新汇率阅读 参考历史汇率 API阅读 Tutorial在 n8n 中获取汇率阅读
更多比较Fixer vs exchangerate.devOpen Exchange Rates vs exchangerate.devCurrencylayer vs exchangerate.dev
学习在 Next.js 与 TypeScript 中使用汇率用 Python 构建 USD/IDR 汇率提醒用 Go 的 net/http 获取汇率
实时汇率EUR/USDGBP/USDUSD/JPY