在數據可視化和自動化辦公日益普及的背景下,Excel文件中嵌入的圖片(如圖表快照、產品照片、Logo等)承載了大量關鍵信息。手動提取這些圖片不僅耗時,而且難以批量操作。通過Python腳本,我們可以自動化提取Excel中的所有圖片,便於內容歸檔、報告生成或圖像處理等進一步應用。本文將介紹如何使用Python提取並保存Excel文件中的圖片。
本文使用的工具是 Free Spire.XLS for Python,PyPI:pip install spire.xls.free。
用Python提取並保存Excel中的圖片
我們可以通過庫中提供的接口,逐個讀取工作表中的嵌入圖片並將其導出為圖像文件。整個流程簡單高效,適用於批量圖片提取任務。
操作步驟如下:
- 創建
Workbook實例並使用LoadFromFile()方法加載目標Excel文件。 - 遍歷所有工作表,使用
Workbook.Worksheets.get_Item()方法獲取當前工作表。 - 通過
Worksheet.Pictures屬性獲取每個工作表中的圖片集合並遍歷集合。 - 使用
Worksheet.Pictures.get_Item()獲取當前圖片,然後使用XlsBitmapShape.SaveToImage()方法將圖片保存為本地圖像文件(如PNG格式)。 - 使用動態命名規則避免文件覆蓋,便於後續識別。
- 釋放資源。
代碼示例
from spire.xls import Workbook
# 創建Workbook對象
workbook = Workbook()
# 載入Excel文件
workbook.LoadFromFile("Sample.xlsx")
# 遍歷工作簿中的工作表
for i in range(workbook.Worksheets.Count):
# 獲取當前工作表
sheet = workbook.Worksheets.get_Item(i)
# 遍歷工作表中的圖片
for j in range(sheet.Pictures.Count):
# 獲取當前圖片
pic = sheet.Pictures.get_Item(j)
# 將圖片保存為文件
pic.SaveToImage("output/ExcelImages/Sheet_" + str(i) + "Image_" + str(j) + ".png")
# 釋放資源
workbook.Dispose()
結果圖片
本文演示瞭如何使用Python從Excel文件中批量提取圖片並保存為本地文件。該方法適用於辦公自動化、文檔重構、圖像歸檔等多個場景,具有良好的擴展性和實用性。
如需進一步分類管理、轉換圖片格式或提取圖片元數據,可結合 Pillow 等圖像處理庫進行拓展開發。