若要從 .xlsx 工作表為 Power Automate 流程產生乾淨的 HTML 表格片段,請在本機將活頁簿透過受限的瀏覽器轉換器執行,該轉換器會讀取儲存的儲存格值、跳脫每個字元,並輸出一個語意化的 thead 與 tbody 字串——Excel to HTML Table Converter 正好能在單一分頁中完成這件事。Power Automate 設計師經常需要一個靜態的 HTML 表格,用於「傳送電子郵件 (V2)」動作的 HTML 內文、「啟動並等待核准」的說明、HTTP webhook 承載,或 SharePoint 的 RTF 欄位。以人工方式從工作表逐字建立該片段既緩慢又容易出錯,直接貼上原始的儲存格文字則可能因未跳脫的角括號或 & 符號而破壞標記。本機轉換器會讀取工作表、跳脫每個儲存格,並回傳一個自給自足的字串,可以直接貼到「撰寫」動作或運算式中。原始活頁簿保留在本機,因此受監管的資料在進入流程之前不會經過任何外部服務。

how to convert html table to excel in power automate
為 Power Automate 從 Excel 建立 HTML 表格

為何 Power Automate 流程需要來自 Excel 的 HTML 表格

Power Automate 偏愛字串輸出。大多數通知、核准與整合動作都接受單一文字運算式,經過評估後再呈現,而格式正確的 HTML 表格就是在該字串中傳遞結構化資料列最簡單的方式之一。原生「建立 HTML 表格」動作適用於物件陣列,但無法直接取用工作表。當來源資料已存在於 Excel 中——例如 OneDrive 上的活頁簿、SharePoint 文件庫項目、Forms 匯出檔,或來自其他流程的附件——該工作表仍須先投射為 HTML 字串,電子郵件或核准步驟才能加以使用。

在 Power Automate 運算式中手工組合該字串相當脆弱。concat() 函式的長串連接、用 apply-to-each 迴圈組裝 tr 與 td 片段、再手寫一個 thead,會讓運算式既難讀又容易損壞。一個預先建好、已套用跳脫處理且已具備 thead 與 tbody 結構的片段則能消除這類摩擦。該片段會被貼入「撰寫」動作或變數中,再由下游動作的內文運算式加以參考。

跳脫步驟的重要性遠超過標記本身。一個工作表儲存格可能包含類似標記或指令碼標籤的文字內容。若原樣輸出,這些文字要不是呈現為破損的標記,就是會在不同電子郵件用戶端中表現不一致。一個完全在瀏覽器內執行、並在組成字串前對每個儲存格值套用 HTML 實體跳脫的受限轉換器,能在不更動可見資料的前提下排除這項風險。

Excel to HTML Table Converter 實際產出的內容

Excel to HTML Table Converter 會從本機 .xlsx 檔案中選定的單一工作表讀取儲存的儲存格值,並回傳單一 HTML 字串。選定的第一列會被放入 thead 元素中,後續每一列放入 tbody 中,每個值在插入前都會經過 HTML 跳脫。角括號會變成 < 與 >,& 符號會變成 &,雙引號會變成 ",單引號會變成 '。最終結果是一段自給自足的片段,能在任何可辨識 HTML 的目的地中順利開啟,且絕不會執行工作表內容,例如公式、巨集或外部連線。

由於輸出是依據儲存值而非即時重算所建立,公式儲存格會以活頁簿已快取的數值呈現。空白儲存格會以空白的 td 元素呈現,而非省略整個欄位;數值儲存格則保留其底層文字表示。若活頁簿以未格式化的序號儲存日期,片段中將直接顯示這些序號而非易讀的日期——這正是為何應在貼入流程前於預覽中檢查輸出的重要原因。

該片段刻意比 Excel 的呈現範圍更窄。下表比較片段保留了哪些內容、未重現哪些內容,協助 Power Automate 設計師判斷哪些活頁簿設定可以放心發布,哪些則需要改用其他傳遞方式。

來源活頁簿中的 Excel 功能HTML 片段中是否存在在 Power Automate 中為何重要
儲存的儲存格值(文字與數字)是,以跳脫後的 td 文字呈現可安全地貼入電子郵件內文、核准說明或包含 HTML 的 webhook 承載中
第一欄的欄位標籤是,以 thead 的 th 元素呈現在電子郵件用戶端與核准卡片中呈現為標題列
儲存格格式(字型、顏色、框線、寬度)否請在目的地端套用 CSS 以維持品牌化電子郵件樣式,而非期待 Excel 樣式會隨資料一起帶過來
公式重算否,僅限儲存值若流程仰賴公式結果,請先在 Excel 中重算,再轉換已儲存的副本
合併儲存格、圖表、影像、註解否若視覺結構本身帶有意義,請改用更豐富的傳遞格式
巨集、外部連結、資料連線永遠不會執行轉換過程永遠不會為工作表內容開啟網路通道

將工作表轉換為 Power Automate 的 HTML 片段

這裡說明具體的工作流程,讓「撰寫」或「初始化變數」動作能產生可供下游電子郵件或核准步驟參考的片段。在已開啟 Power Automate 的同一個瀏覽器分頁中執行轉換,可讓複製與貼上步驟更為單純。

  1. 在瀏覽器分頁中開啟 Excel to HTML Table Converter,並確認活頁簿是小於 20 MB 的標準 .xlsx 檔案。若想在轉換前先檢查工作表內容,how to open Excel files online in a browser preview 一文中所介紹的瀏覽器預覽工作流程,讓你無需離開本機即可檢視來源。
  2. 從本機檔案系統中挑選活頁簿。檔案完全在分頁內讀取,不會上傳至任何伺服器。
  3. 選擇要把第一列當作表格標題的工作表。若來源資料的真正標題位於第二列、第一列是標題列,請先在 Excel 中刪除或移動該標題列,避免轉換器把標題列誤當成 thead。
  4. 觸發轉換。頁面會在程式碼樣式的區塊中,同時顯示可見的 HTML 預覽與跳脫後的片段。
  5. 檢查預覽內容。確認標題列包含收件者應看到的標籤,抽樣檢查幾個內文儲存格,並確認沒有殘留的公式語法外露。
  6. 複製該片段或將其下載為檔案。Power Automate 流程可直接接受多行文字,通常會把片段貼入「撰寫」或「初始化變數」動作中。
  7. 在 Power Automate 中,將片段放入電子郵件內文、核准說明或 HTTP 承載的運算式。若目的地的品牌需要特定外觀,可用行內樣式包裹該值。

只要來源工作表不變,同一片段就能在多個流程中重複使用。當活頁簿更新時,請重新執行轉換器以更新片段,而非在流程運算式中手動編輯標記。

決定轉換是否成功的限制

轉換器在剖析活頁簿之前,會強制套用一組固定的安全性與大小限制。任何一項超出都會以明確的錯誤中止作業,而不是產出誤導性的局部表格。下表列出會影響流程所依賴片段能否實際出現的數值。

限制項目數值對 Power Automate 工作流程的影響
活頁簿檔案大小磁碟上不超過 20 MB較大的報表必須先分割或精簡,再進入片段步驟
工作表中定址的儲存格選定工作表中不超過 100,000 個儲存格極寬的報表需先減少列數或欄數
產生的 HTML 大小不超過 10 MiB 的跳脫標記Power Automate 電子郵件動作本身有其內文長度上限,請讓片段遠低於該上限
.xlsx 內部的 ZIP 項目不超過 2,000 個項目含有大量內嵌零件的裝飾性活頁簿可能會無法通過此檢查
宣告的展開內容大小不超過 50 MB用於攔截展開後會超出瀏覽器記憶體的壓縮活頁簿
不支援的活頁簿格式Zip64、多片磁碟、損毀、加密、舊版 .xls、啟用巨集的格式這些情況會以明確錯誤中止,而不是悄悄截斷

若工作表未通過其中一項檢查,通常的正確做法是在 Excel 中縮小工作表範圍,而非改用其他工具重試。請刪除未使用的欄位、移除片段不需要的樞紐快取、僅儲存包含目標工作表的副本,然後重新執行轉換。

片段在 Power Automate 流程中的定位

一旦跳脫後的片段存在,它的行為就像流程中的任何其他字串產物。最常見的配置是一個「撰寫」動作來保存 HTML,接著由下游動作參考 outputs('Compose')。就電子郵件傳遞而言,「傳送電子郵件 (V2)」動作的內文直接接受 HTML,只要將片段包在基本的行內樣式內,即可在 Outlook 與 Gmail 中保持表格可讀性。就核准而言,「啟動並等待核准」的詳細資料欄位接受同一片段,當簽核者需要在回覆前先查看資料列的上下文時特別實用。對外部系統來說,HTTP 動作可將片段以字串屬性的形式放入 JSON 承載中,讓下游服務在自己的範本中加以呈現。

有兩個模式值得牢記。第一,在片段之外將工作表的選擇參數化,讓同一個流程不需重新建立轉換器輸出,即可對應不同報表。第二,當活頁簿本身就是流程觸發條件時——例如 SharePoint 文件庫上的「當檔案被建立或修改時」觸發——請改為離線重新執行轉換器,並依排程更新已儲存的「撰寫」變數,而不是在流程運算式內建構 HTML 表格。轉換器的跳脫處理已正確完成,因此重複使用其輸出可避免在 Power Automate 的運算式語言中重新實作跳脫規則。

在將片段貼入流程前先檢視內容

在轉換器預覽中看起來正確的片段,套用到特定目的地時仍可能有誤。電子郵件用戶端處理行內樣式與 CSS 類別的方式各不相同,審批卡會在不同長度截斷過長的內文,而 SharePoint 的 RTF 欄位可能會移除目的地視為不安全的元素。快速的檢視步驟有助於在片段進入正式環境前抓到這些落差。

在文字編輯器中開啟下載的片段,並確認四件事:thead 內僅包含收件者應看到的欄位標籤、每個 td 都已正確關閉、本文儲存格中未殘留 Excel 公式語法,以及沒有未跳脫的角括號。若目的地需要無障礙標記,請在貼入片段前加入 scope 與 caption 標籤;轉換器僅會產生結構化的表格標記,因此無障礙的決策屬於另一個獨立步驟。若目的地需要視覺樣式,請在片段內的 th 與 td 元素上加入行內 CSS,而非期待轉換器重現 Excel 的字型或顏色。

請保留原始活頁簿作為唯一資料來源。片段是一種呈現,而非翻譯;更新來源活頁簿所產生的結果,永遠比在流程運算式中手動編輯片段更為可靠。

延伸閱讀:如何在 GST 離線工具之外將 Excel 轉換為 JSON。