Excel 將頁首圖片儲存為 .xlsx 套件內的內嵌影像檔,而基於瀏覽器的擷取工具可以直接讀取活頁簿的媒體資料夾來取出它們。當您在 Microsoft Excel 的頁首或頁尾插入影像時,該檔案會以獨立的媒體項目儲存於 Office Open XML 的 ZIP 容器中,而不是作為工作表格線的一部分。這種封裝方式意味著,透過頁面截圖、「另存為網頁」匯出,或是從預覽列印手動複製貼上,通常都會降低原始影像的品質。影像會被裁剪到頁首區塊、與頁面背景壓平,或被重新像素化為預覽當下所使用的縮放等級。專屬的擷取工具會走訪整個活頁簿套件,找出 xl/media/ 下所有支援的影像項目,並提供原始檔案供下載。頁首與頁尾圖片的儲存方式與其他內嵌影像相同,因此適用相同的還原方法。由於解壓縮完全在瀏覽器分頁內進行,活頁簿不會離開您的裝置,而且 JSZip 只會在您選擇檔案後才載入。

how to extract picture from excel header
how to extract picture from excel header

為何 Excel 頁首圖片難以透過 Excel 本身儲存

Excel 並沒有提供「將頁首圖片另存為檔案」的指令。當您開啟「版面設定」、點選「頁首/頁尾」標籤,並選擇「自訂頁首」時,可以點擊小工具列中的「插入圖片」圖示來放置影像。在此之後,每當您列印、預覽或匯出活頁簿時,圖片就會被繪製到頁首區塊中。Excel 本身從未提供在所繪製的頁首上按右鍵並將其存回磁碟的方式。影像會成為文件視覺外觀的一部分,而不是您可以從功能區中取得的可定址物件。

人們通常會嘗試的替代方法,大多會損失畫質。從「預覽列印」擷取的螢幕截圖會裁剪到當下可見的螢幕區塊、擷取目前的縮放等級,並將原始影像的透明度壓平。使用剪取工具擷取會額外加入螢幕 DPI 以及作業系統當下使用的縮放比例。「另存為網頁」會產生一個 HTML 資料夾,但只有在 Excel 願意時,圖片才會被分割為獨立檔案;舊版 Excel 嵌入頁首影像的方式與現行版本不同,而且最終的影像檔案通常是一張不具透明度也沒有 Alpha 色頻的平面化 PNG。這些方式都無法還原您當初放入頁首的原始影像。

本指南正是著眼於此一缺口:取得真正原始、未經變動的圖片,讓您能將其重新用於網站、放入其他報告,或交給設計師而不損失細節。

頁首圖片在 .xlsx 套件中的儲存位置

.xlsx 檔案格式是一個由 Office Open XML 標準(亦稱 ECMA-376)所定義的 ZIP 容器。在該容器中,現代活頁簿會以定義好的資料夾結構儲存繪圖物件、工作表、樣式、共用字串以及媒體檔案。內嵌影像皆位於 xl/media/ 之下,無論它們是出現在工作表、頁首區塊、頁尾區塊,或是自訂的 Office 擴充功能中。.xlsx 規格將這些部分稱為影像組件(image parts),並依據原始插入的格式為每一項指派內容類型(例如 image/png 或 image/jpeg),而 Microsoft 在其 Open XML 參考文件中亦記載了相同的版面配置。

因此,頁首圖片只是 xl/media/ 中的另一個項目而已。頁首本身是由諸如 header1.xml 的 XML 組件所描述,其中包含對該媒體項目的參照,以及位置與尺寸資訊。實際的像素資料並不會在頁首 XML 中重複儲存,只儲存參照。若要還原原始影像,您只需要在 xl/media/ 中找到對應的項目,並將其重新寫出為獨立檔案即可。一個謹慎的擷取工具對於套件所施加的限制是刻意的:一般的活頁簿不應該需要數千個目錄項目或數十 MB 的展開資料,才能還原一組數量不多的影像;而格式錯誤的套件會在說明後被拒絕,而不是被部分解開。

如何從 Excel 頁首擷取圖片

  1. 請確認您的活頁簿已存為現代的 .xlsx 檔案。較舊的 .xls 二進位檔案以及有密碼保護的套件皆不受此工具支援。
  2. 在瀏覽器中開啟 從 Excel 擷取圖片,並點擊檔案選擇器以從您的裝置中選擇一個 .xlsx 活頁簿。活頁簿會保留在本機,不會上傳任何內容。
  3. 等待瀏覽器驗證 ZIP 中央目錄,並走訪 xl/media/ 資料夾以找出所有支援的內嵌影像。JSZip 只會在您選好檔案之後才載入,而且會在任何承載資料被解壓縮之前,先檢查封存項目數量與展開後的大小。
  4. 檢視偵測到的影像清單。頁首圖片、頁尾圖片與工作表固定的圖片會一起出現,因為它們皆以同一種影像組件形式儲存。
  5. 點擊單一項目即可下載該張原始影像,或使用批次下載選項將所有偵測到的影像打包成一個新的 ZIP 封存檔。

擷取工具會處理與略過的內容

範圍刻意限縮,以便結果與套件實際內容一致。下表列出哪些活頁簿內容會產生可下載的影像,以及哪些會被略過。

活頁簿內容 是否還原為可下載的影像? 原因
放置於頁首區塊中的圖片 以影像組件形式儲存於 xl/media/
放置於頁尾區塊中的圖片 與頁首採用相同的影像組件格式
固定於工作表中的圖片 與頁首採用相同的影像組件格式
舊版二進位 .xls 活頁簿 此工具僅支援 .xlsx 套件
有密碼保護的活頁簿 加密套件會在第一時間被拒絕
外部影像 URL 僅解開內嵌的承載資料
圖表、圖案、條件式格式圖示 由 XML 指令繪製,並非以圖片檔案儲存
僅作為儲存格值或公式參考的圖片 並非內嵌的影像組件
巨集、註解、命名範圍、公式 超出範圍;僅讀取媒體承載資料

若您的頁首含有您放入現行 .xlsx 活頁簿的影像,則該影像會出現在結果中。若您的頁首僅含有文字、圖表物件,或由 Excel 繪圖工具繪製的圖案,則 xl/media/ 中並無可還原的內容,工具會回報找不到支援的內嵌影像。

擷取工具不會告訴您關於圖片的哪些資訊

下載的內容是來自活頁簿套件的原始影像承載資料,但擷取工具不會保留位置資訊。頁首的 XML 組件(其中帶有圖片的位置、尺寸、裁剪、旋轉及任何效果)並不會被匯出。您下載的檔案是未經變動的影像,而不是 Excel 在列印或預覽時所繪製的裁剪定位版本。若您的頁首圖片在 Excel 中旋轉了 45 度,則原始檔案其實是正的;該角度是 Excel 在繪製時套用的,並未儲存在影像組件內部。Office 的封裝方式也意味著,套件可能保留一個已不再顯示放置於工作表上的媒體項目,因此擷取出的清單並無法證明目前的放置位置、閱讀順序或可見的外觀。

部分 Office 原生格式(例如 EMF 或 WMF)可以還原為其原始檔案,但其他應用程式是否能預覽或編輯它們,則取決於該應用程式自身的格式支援。一種謹慎的移交方式是:下載原始影像、保持活頁簿不變,並在刪除或重新發布任何內容之前,將每個檔名與來源工作表進行比對。若您需要工作表版面配置或影像放置資訊,請保留來源活頁簿,因為本擷取工具僅保留影像檔,而不保留其位置、標題或試算表中的關聯。

檢視與使用擷取出的頁首圖片

影像下載到您的裝置後,請在本機開啟並確認這就是您預期的檔案。請將檔名或雜湊值與您的團隊最初放入頁首的內容進行比對。若您需要在以電子郵件寄出或上傳至內容管理系統之前縮小檔案,瀏覽器中的影像壓縮工具可以在不上傳影像的情況下重新編碼。若要為特定用途更改像素尺寸,影像縮放工具可在本機產生精確的像素大小。若還原的頁首圖片需要用於大頭貼或圓形徽章的透明圓形裁切,圓形裁切工具可在保持 PNG 透明度的同時,產生一張置中的圓形 PNG。

若目標是將多張還原的頁首圖片打包成單一交付檔案,擷取工具中的 ZIP 選項已可將所有偵測到的圖片集中成一個封存檔。若只需交付單張影像,通常下載個別檔案即足夠。請記住,這是一個本機還原輔助工具,並非用於修復損壞封存檔的修復工具,也無法取代 Excel 的文件歷程記錄。若活頁簿本身已損毀,或 ZIP 中央目錄格式不正確,工具會拒絕解開,而不會產生部分結果。

延伸閱讀: 在不上傳的情況下從 Word 文件擷取圖片

延伸閱讀: 如何在瀏覽器中從影像擷取 RGB 值