使用 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 動作另有授權用量限制。
核實授權與連接器限制
Microsoft 的 Power Automate 授權 FAQ說明 Free 與 Microsoft 365 可使用標準連接器,而進階連接器需要相應的 Premium 或 Process 授權。確認流程可以部署前,請檢查設計工具中的 HTTP 動作卡及租戶政策;本範例不承諾免費方案適用。Excel Online (Business) 參考文件列出請求限制、25 MB 活頁簿上限及並行限制。Azure Logic Apps 是獨立產品,有自己的託管及計費方式,其價格不能決定 Power Automate 的使用權限。
