把 HTML 表格資料轉成 Excel 最快的方法,就是從瀏覽器複製可見的表格,切到工作表,然後用 Ctrl+V 貼上;Excel 會把每一列和每一格視為獨立的項目,讓你馬上就能清理結果。對於較大或較雜亂的表格,先把來源頁面存成獨立的 .htm 或 .html 檔,再用 Excel 內建的資料匯入精靈,可以產生較乾淨的傳輸,減少手動修正,因為精靈會逐一檢視文件中的表格,讓你確認要匯入哪一個。Power Query 負責處理重複性的匯入,並讓你在資料進入工作表之前進行重塑、篩選或分割欄位,這在來源 HTML 有合併儲存格、多列標頭、隱藏列或多餘空白時特別重要。本指南會依照大多數開發者選擇的順序,逐一說明每種方法,接著介紹一個互補工具,當你需要把 Excel 資料發佈回逸出後的 HTML 片段,用於靜態頁面、CMS 草稿或開發交接時,它能解決反向的工作流程。

為你的表格選擇合適的方法
三種實用的做法幾乎涵蓋所有真實的 HTML 轉 Excel 工作,選擇哪一種取決於表格的大小、乾淨程度,以及你會重複匯入的頻率。複製貼上適合一次性、在瀏覽器看起來已經合理的小表格。存成 HTML 再用匯入精靈,適合來源標記相當乾淨的中型表格。Power Query 適合雜亂的表格、重複性的匯入,或任何需要在進入工作表前重塑的資料。
下表總結了權衡取捨。三種方法都不會保留原本頁面的樣式,它們都只會產生底層值的結構化副本。
| 方法 | 最適合 | 保留格式 | 可重複使用 | 設定工作量 |
|---|---|---|---|---|
| 複製貼上 | 小型、一次性的表格 | 僅保留大多數版面提示 | 否 | 無 |
| 存成 HTML 再匯入 | 中型乾淨的表格 | 僅結構 | 否 | 低 |
| Power Query 從 Web | 複雜或重複性的匯入 | 原始結構,在 PQ 中重塑 | 是 | 中等 |
複製貼上:小表格的最快捷徑
對於能在螢幕上從頭到尾看見的表格,剪貼簿通常是把資料送進 Excel 最快的橋樑。來源甚至不需要是檔案:它可以是渲染過的頁面、瀏覽器中的 PDF,或貼到開發者工具中的 HTML 片段。Excel 的貼上引擎能充分讀取 tab 字元和表格語意,不需手動對齊就能重建列與欄。
要做得乾淨的話:
- 在瀏覽器中選取表格,包含標頭列,然後用 Ctrl+C 複製(macOS 上是 Cmd+C)。
- 開啟 Excel,點選目的儲存格。
- 用 Ctrl+V 貼上;如果 Excel 詢問貼上格式,依據你想要工作簿樣式或頁面樣式勝出,選擇「符合目的格式」或「保留來源格式」。
- 檢查是否有任何儲存格貼成一個區塊;多行文字有時會擠在一起,除非你先拉寬欄位。
主要缺點是這個方法無法擴展。超過幾十列的表格,或是含有多個並排表格的頁面,常常會產生合併或截斷的結果,需要手動清理。它也是一次性的操作;下次頁面變動時,沒有查詢可供重新整理。
儲存頁面並以 Web 表格形式匯入 Excel
先把來源頁面存成本地的 .htm 或 .html 檔再匯入,讓 Excel 有更多資料可用,因為精靈可以直接讀取文件的表格結構,而不是從剪貼簿文字推測。當頁面很大、具有乾淨的 <table> 骨架、只需要匯入一兩次時,這個方法特別出色。
- 在瀏覽器中選擇「檔案」,然後選擇「另存新檔」,格式選「網頁,完整」或「僅 HTML」。把檔案存到你能掌控的資料夾。
- 在 Excel 中,開新空白活頁簿,然後到「資料」索引標籤。
- 選擇「取得資料」,然後「從檔案」,然後「從 HTML」(舊版 Excel 是「取得外部資料」,然後「從 Web」,再指向本機檔案)。
- 在「導覽器」對話框中,選擇你要的特定表格。如果頁面有多個表格,每個都會顯示為獨立項目;確認前先逐一預覽。
- 點選「載入」把表格放到新工作表,或選「轉換資料」開啟 Power Query,先清理欄位再載入。
有個值得知道的怪癖:Excel 把每個 <table> 元素視為獨立的匯入目標,巢狀在其他表格內的表格會以獨立項目顯示,而不是當成父表格的一部分。如果你的來源使用 <div> 為基礎的版面,而不是真正的 <table> 標記,Excel 可能找不到任何可匯入的東西,這時 Power Query 會是比較好的選擇。
用 Power Query 處理雜亂或重複的匯入
Power Query 位於「取得資料」選單後方,當來源 HTML 有合併儲存格、多列標頭、隱藏列、多餘空白,或讓簡單貼上混淆的不分行空白時,它就是對的工具。它也能讓你把匯入儲存成查詢,下個月就能重新整理同一個匯入,不必從頭重建。
- 開啟 Excel,然後到「資料」,選擇「取得資料」,然後「從其他來源」,然後「從 Web」(如果你已在本機存檔,則選「從檔案」,然後「從 HTML」)。
- 輸入頁面 URL,或瀏覽到本機 .htm 檔,然後按「確定」。
- 在「導覽器」中,選擇你要的表格。當預覽顯示有合併的標頭、多餘欄位或不要的列時,點選「轉換資料」而不是「載入」。
- 在 Power Query 編輯器中,用「移除頂端列」、「移除欄」、「分割欄位」和「修剪」來清理形狀。「升級標頭」會把第一列變成欄位名稱。
- 點選「關閉並載入」,把清理過的表格送到工作表。查詢會留在「查詢與連線」窗格中,以後只要按一下就能重新整理。
對開發者來說,魅力在於可重複性:儲存一次的查詢可以當成更大流程的一部分重複使用,當頁面結構改變時,背後的 M 程式碼也能直接編輯。
反向操作:把 Excel 資料轉成逸出的 HTML 片段
在你把 HTML 資料搬進 Excel 並依團隊需要塑形後,下一步常常是反向操作:把清理過的值發佈成靜態 HTML 片段,用於文件頁面、內部 wiki、CMS 草稿或開發交接。把工作表儲存格直接貼到 HTML 風險很高,因為任何看起來像標記的儲存格都會被當成標記解析,來源資料中只要有一個多餘的 <script> 標籤,就能破壞目的頁面。
這個 Excel 轉 HTML 表格轉換器 透過讀取本機 .xlsx 活頁簿中儲存的工作表值,產生一個 HTML 片段,每個儲存格在進入字串前都經過 HTML 逸出。角括號、& 符號、引號和撇號都會變成實體,因此內容包含類似圖片、指令碼或事件處理常式的儲存格,在輸出中會保持為可見文字,而不是變成可執行的元素。公式不會重新計算,只會讀取儲存的值。
執行轉換的方法:
- 選擇一個本機的 .xlsx 活頁簿,大小不超過 20 MB,且為經典的單磁碟 OOXML 結構。
- 選擇要把第一列當成表格標頭的工作表。
- 轉成 HTML,在預覽中檢視逸出後的片段,然後下載成檔案或複製到剪貼簿。
輸出刻意比 Excel 渲染更精簡。它不會重現字型、顏色、邊框、欄寬、合併儲存格語意、圖表、圖片、註解、篩選、命名範圍、列印設定、資料驗證、公式或活頁簿保護。如果工作表的格式承載意義,請保留活頁簿,或用專門的發佈工具重建版面。轉換器只會產生結構化的表格標記;目的端的 CSS 和無障礙決定屬於使用頁面。想進一步了解同一個工具,請參閱 如何把 Excel 表格轉成 HTML 程式碼。
在 HTML 與 Excel 之間轉換時要注意的限制
這個轉換的每個方向都會遺失一些東西。瀏覽器到 Excel 的路徑會捨棄字型、顏色、邊框和儲存格層級的格式;只有列與欄的結構形狀會保留下來。跨欄和合併儲存格可能會塌縮成單一合併值,而裝飾性的 <colgroup> 設定會被靜默忽略。Power Query 比複製貼上保留更多原始結構,但它讀的仍是儲存的值,而不是渲染出來的樣式。
Excel 到 HTML 的路徑更窄。片段是儲存儲存格值的字面呈現,不是活頁簿的視覺複製品,因此任何存在於活頁簿格式層而非儲存格值中的東西,都不會出現在輸出中。瀏覽器的安全限制在解析前就適用:輸入必須是 .xlsx 檔,大小不超過 20 MB,具備經典的單磁碟 OOXML ZIP 目錄,最多 2,000 個 ZIP 項目,宣告的展開內容不超過 50 MB,工作表上限為 100,000 個已定址儲存格。產生的 HTML 不得超過 10 MiB。不支援的 Zip64、多磁碟、毀損、加密、舊版 .xls 或啟用巨集的檔案,會以清楚的錯誤停止,而不是產生誤導的部分表格。
不論哪個方向,原始的活頁簿都應該保留為唯一紀錄來源。把每一次的 HTML 匯出和 Excel 匯入,都當成儲存值的快照;如果活頁簿之後更新了,請重新執行轉換,而不是信任快取的輸出。