若要從 Excel 超連結中擷取 URL 而不上傳檔案,請使用本機瀏覽器工具開啟活頁簿,該工具會讀取已儲存在 .xlsx 套件中的儲存格層級超連結中繼資料,然後匯出 http、https 和 mailto 目標的純文字清單,並附上每個目標所附加的工作表名稱和儲存格地址。這種做法很重要,因為 Excel 將超連結儲存為 OOXML zip 內部的結構化記錄(目標、顯示文字、位置),而非一般的儲存格文字。普通的尋找與取代或複製貼上通常只會給你可見的藍色標籤,而不是底層的地址。Lizely 上的 Excel Hyperlink Extractor 會走訪工作表樹狀結構,透過瀏覽器的 URL 解析器正規化每個接受的目標,並將結果以非作用中的純文字形式呈現在 textarea 中,因此報告不會意外觸發導覽。它也會將活頁簿保留在目前的瀏覽器分頁中,絕不上傳套件,並讓原始檔案完全保持不變。此工具有意將範圍限定於已儲存的儲存格超連結中繼資料,因此僅顯示文字(例如 https://example.com 但未實際附加超連結的儲存格)會刻意排除在擷取範圍之外。

how to extract url from excel hyperlink
how to extract url from excel hyperlink

為何標準的 Excel 方法無法滿足大量 URL 擷取

Excel 提供數種內建方式來檢查超連結,但都無法在不額外加工的情況下擴展為「把這個活頁簿中每個 URL 整理成一份乾淨的清單」:

  • 右鍵 → 編輯超連結一次只能顯示一個儲存格的目標,並強制你手動複製。沒有批次匯出功能。
  • HYPERLINK() 公式可以建立連結,但無法以實用的方式顯示既有儲存格層級超連結的地址。你可以重建連結,但底層目標隱藏在活頁簿的關聯元件中。
  • 針對可見文字進行篩選或尋找只會顯示錨點字串(例如「點這裡」)或友善名稱,而非實際的 URL。
  • VBA 自訂函式雖然可行,但僅在啟用巨集的桌面版 Excel 中有效。在 Excel Online、檢視器或停用巨集的沙箱預覽中都無法執行。
  • 將檔案上傳至線上服務對非敏感性資料來說可行,但當活頁簿包含內部連結、客戶 URL 或任何你不會貼到公開表單中的記錄時,這是錯誤的選擇。

剩下的缺口是:本機、不需指令碼的已儲存超連結目標盤點,依其在活頁簿中的位置組織。這正是 Excel Hyperlink Extractor 所填補的位置。

Excel Hyperlink Extractor 實際讀取的內容

此擷取器會從經典的 OOXML .xlsx 套件中讀取已儲存的儲存格超連結中繼資料,並將每個保留的目標轉換為單筆純文字記錄。具體來說,對於每個保留的超連結,報告包含三個欄位:

欄位意義
工作表名稱超連結所附加的工作表。
儲存格地址A1 樣式的儲存格座標,例如 B12。
正規化 URL通過瀏覽器 URL 解析器處理後的超連結目標。

正規化很重要,因為兩個儲存格可能以略微不同的形式儲存相同的目標。一旦兩者都通過 URL 解析器,就會合併為單一標準字串,而保留該標準 URL 首次出現的儲存格,後續出現的儲存格則會回報為重複。這樣既能讓報告保持簡短以便肉眼檢視,又不會遺失最早的位置。

接受三種連結類型:httphttpsmailto。其他所有形式都會刻意排除。相對路徑、內部活頁簿錨點、file:// URL、data: URL、JavaScript URL、格式錯誤的值、控制字元酬載,以及超過所宣告上限的目標,都會落在保留清單之外。這是刻意的安全界線,以避免報告本身變成可點擊的豐富預覽,防止不受信任的試算表在瀏覽器中觸發導覽。

三個步驟從 Excel 超連結擷取 URL

  1. 選擇一個不大於 20 MB 的本機 .xlsx 活頁簿。擷取器完全在目前的瀏覽器分頁中執行,因此檔案不會傳送到伺服器。設定大小上限的原因在於,活頁簿讀取器會在記憶體中解析 OOXML zip,需要有界的套件才能產生確定性的報告。
  2. 選擇「Extract safe links」以檢查已儲存的外部儲存格超連結目標。此工具會驗證套件結構,走訪每個工作表,並逐一讀取儲存格超連結關聯。它不會執行公式、重新整理外部資料連線、執行巨集,或造訪所找到的 URL。
  3. 檢視每個目標旁的工作表與儲存格地址,並視需要下載純文字報告。結果會以純文字 textarea 顯示,因此沒有可點擊的預覽。你可以複製它、貼到另一個追蹤工具中,或儲存為 .txt 檔以便交接。

由於結果是純文字而非渲染後的 HTML,載入到其他工具的報告在開啟時不會自動觸發導覽。這也是為什麼此報告適合作為稽核軌跡的實用成品:審查者可以看到活頁簿實際儲存的內容,每個保留的 URL 都有清楚的工作表與儲存格前置詞。

超連結與類 URL 文字:工具保留的內容

一個常見的混淆來源在於「包含超連結的儲存格」與「可見值恰好看起來像 URL 的儲存格」之間的差異。Excel 對這兩種情況的儲存方式截然不同:

儲存格狀態儲存位置是否由擷取器保留?
插入 → 連結,附加至儲存格OOXML zip 內部的儲存格層級超連結關聯是,前提是目標為 http、https 或 mailto。
=HYPERLINK("https://example.com","Label")儲存格內部的公式文字否。擷取器不會評估公式。
看起來像 URL 的純文字共用字串表,沒有關聯否。沒有實際的超連結附加可供讀取。
以純文字輸入的電子郵件地址共用字串表,沒有關聯否。僅保留 mailto: 超連結目標。
隱藏的活頁簿資料連線外部連結元件,非儲存格超連結否。資料連線不在範圍內。

如果你預期會出現在報告中的儲存格不見了,它幾乎一定屬於上述其中一列。當你實際需要的地址位於 HYPERLINK 公式中而非真正的儲存格超連結時,Excel 公式速查表替代方案是很好的搭配參考資料。

開始前需要了解的限制與安全界線

擷取器在開始任何工作表走訪之前會強制執行數項嚴格上限。這些屬於安全機制的一部分,而非附帶條件:

  • 格式:輸入必須是非空白的經典 .xlsx 套件,且為單一磁碟的 OOXML zip 目錄。
  • 大小:磁碟上最多 20 MB,zip 中最多 2,000 個項目,宣告的展開資料最多 50 MB。
  • 每張工作表:最多 100,000 個已定址的儲存格。
  • 報告:完整的純文字報告上限為 1,000 個安全連結。
  • 拒絕處理的套件:損壞、加密、Zip64、舊版 .xls、啟用巨集、多磁碟或超大的檔案會停止處理並顯示明確錯誤,而不會產生部分報告。

瀏覽器絕不會默默略過超限的活頁簿並假設其連結清單是完整的,因此報告中缺少某一列,總是代表底層儲存格沒有保留的超連結目標。對於不熟悉的匯出檔案,一個有用的習慣是先載入較小且具代表性的檔案,確認報告中的工作表與儲存格前置詞符合你預期的結構,再擴大處理規模。

同樣值得明確說明的是報告無法證明的事項。保留的地址是 Excel 所儲存的值,並不保證該 URL 可連線、仍有效、屬於特定人員,或可安全開啟。判斷是否應點擊任何保留的 URL,仍須在受信任的環境中,並備有來源活頁簿的情況下進行。

何時需要不同的 Excel 工具

擷取器的範圍刻意很窄。如果下列任何一項描述了你的實際工作,你會需要不同的工具:

  • 你需要工作表中的實際資料值。單一工作表請使用 Excel 轉 CSV 轉換器;如果你的下游流程是以 JSON 為基礎,則請使用 Excel 轉 JSON 轉換器
  • 你只需要單一欄的值。Excel 欄位擷取器會將所選的一個欄位以公式安全的 CSV 形式回傳,無需上傳活頁簿。
  • 你想合併多個活頁簿為一個。合併 Excel 檔案工具會將 2 到 10 個本機 .xlsx 檔案中已儲存的值,合併成單一有界、僅含資料的 Excel 下載檔。
  • 你需要的地址位於 HYPERLINK() 公式或可見文字中。這兩者都不是已儲存的儲存格超連結,因此此擷取器無法顯示。具備公式感知能力或文字搜尋的工作流程才是正確的起點。

針對「列出已儲存於此活頁簿中的 http、https 和 mailto 儲存格超連結,連同每個連結所在的工作表與儲存格,且絕不上傳檔案」這個特定情境,Excel Hyperlink Extractor 是在本機完成此工作的最短路徑。

如果你正在權衡各種選項,如何在本機將 Excel 檔案轉換為 CSV 對此有詳細說明。