通過Python在Excel中添加或刪除圖片的操作流程
引言
在數(shù)據(jù)處理與辦公自動化場景中,Excel 文件常需嵌入圖片以增強可視化表達。然而,手動添加或刪除圖片不僅效率低下,還容易出錯。如何用 Python 實現(xiàn) Excel 中圖片的自動化管理?答案是:使用 Free Spire.XLS for Python 免費庫。
本文將系統(tǒng)介紹如何通過 Python 代碼,在 Excel 文件中添加圖片和刪除圖片,并提供完整示例與操作流程。內(nèi)容基于真實可用的技術(shù)方案,適用于數(shù)據(jù)分析師、自動化工程師及辦公自動化愛好者。
為什么選擇 Python + Free Spire.XLS?
在眾多 Python 庫中,如 pandas、openpyxl 等,雖然能處理 Excel 表格結(jié)構(gòu),但對圖片操作支持有限。例如:
openpyxl只能讀寫單元格內(nèi)容,無法直接操作圖片。xlwings雖可調(diào)用 Excel 界面,但依賴運行環(huán)境,不適用于腳本自動化。
相比之下,Free Spire.XLS for Python 是一款專為處理 Excel 文件設計的跨平臺庫,支持圖片的添加、刪除、裁剪、格式調(diào)整等完整功能,且無需安裝 Excel,無需依賴 COM 接口,完全在 Python 環(huán)境中運行。
? 優(yōu)勢總結(jié)如下:
| 對比維度 | Free Spire.XLS for Python | openpyxl / xlwings |
|---|---|---|
| 圖片添加支持 | ? 支持 | ? 僅支持單元格內(nèi)容 |
| 圖片刪除支持 | ? 支持 | ? 無直接接口 |
| 無需 Excel 運行 | ? 支持 | ? 需Excel環(huán)境 |
| 腳本自動化 | ? 高效 | ?? 依賴外部環(huán)境 |
說明:Free Spire.XLS for Python 支持 .xlsx 和 .xls 格式,但有篇幅限制,適用于小型文檔。
Python 添加圖片到 Excel 中的完整流程
步驟1:安裝庫
pip install spire.xls.free
步驟2:代碼示例 — 將圖片添加到指定單元格位置
該場景適用于圖片需與單元格內(nèi)容對齊的情況(如報表中圖片對應某行數(shù)據(jù)),核心是通過 Worksheet.Pictures.Add() 指定圖片路徑和目標單元格。
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建工作簿對象
workbook = Workbook()
# 獲取第一個工作表
sheet = workbook.Worksheets[0]
# 添加圖片到工作表指定單元格
imgPath = "logo.png"
picture = sheet.Pictures.Add(1, 3, imgPath)
# 調(diào)整單元格大小以容納圖片
sheet.Columns[2].ColumnWidth = 25
sheet.Rows[0].RowHeight = 135
# 保存文件
workbook.SaveToFile("InsertImage.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
擴展技能:自定義圖片位置和尺寸添加
若需精確控制圖片的坐標和寬高,可通過 ExcelPicture 提供的 LeftColumnOffset / TopRowOffset / Width / Height 屬性設置:
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建工作簿對象
workbook = Workbook()
# 獲取第一個工作表
sheet = workbook.Worksheets[0]
# 添加圖片到工作表指定單元格
imgPath = "logo.png"
picture = sheet.Pictures.Add(1, 3, imgPath)
# 自定義圖片位置
picture.LeftColumnOffset = 90 # 左側(cè)偏移90
picture.TopRowOffset = 20 # 頂部偏移20
# 自定義圖片尺寸
picture.Width = 150
picture.Height = 150
# 保存文件
workbook.SaveToFile("add_custom_size_image.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
通過 Python 刪除 Excel 中圖片的實現(xiàn)方法
Free Spire.XLS for Python 支持按索引刪除指定圖片或批量刪除所有圖片,以下是具體實現(xiàn)。
場景 1:刪除指定位置的圖片
工作表中的圖片以列表形式存儲在 Pictures 屬性中,可通過索引(從 0 開始)定位并刪除:
from spire.xls import *
from spire.xls.common import *
# 加載 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("InsertImage.xlsx")
# 獲取第一個工作表
sheet = workbook.Worksheets[0]
# 刪除工作表中第一張圖片
sheet.Pictures[0].Remove()
# 保存文件
workbook.SaveToFile("DeleteImage.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
刪除工作表中所有圖片
通過遍歷 Pictures 列表,批量刪除所有圖片:
from spire.xls import *
from spire.xls.common import *
# 加載 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("InsertImage.xlsx")
# 獲取第一個工作表
sheet = workbook.Worksheets[0]
# 刪除工作表中所有圖片
for i in range(sheet.Pictures.Count - 1, -1, -1):
sheet.Pictures[i].Remove()
# 保存文件
workbook.SaveToFile("DeleteAllImage.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
提示:刪除后,單元格將恢復為純文本或空白。
實際應用場景與建議
| 場景 | 推薦操作 |
|---|---|
| 數(shù)據(jù)報告生成 | 自動添加圖表或截圖 |
| 項目進度可視化 | 在任務表中嵌入進度圖 |
| 采購單/合同文件處理 | 添加公司 Logo 或?qū)徟搱D片 |
| 自動化審計流程 | 刪除舊版本中的冗余圖片 |
Free Spire.XLS for Python 為 Python 開發(fā)者提供了輕量、免費的 Excel 圖片操作方案,無需依賴 Microsoft Excel 即可完成圖片的添加(指定單元格 / 自定義尺寸)和刪除(指定圖片 / 批量刪除)。其優(yōu)勢在于跨平臺兼容性和簡潔的 API 設計,在實際應用中,可結(jié)合批量文件遍歷等邏輯,進一步擴展功能,提升 Excel 處理的自動化效率。
以上就是通過Python在Excel中添加或刪除圖片的操作流程的詳細內(nèi)容,更多關(guān)于Python Excel添加或刪除圖片的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用Python實現(xiàn)向同一PDF添加附件與附件注釋
在文檔管理和報表生成中,將相關(guān)文件直接嵌入 PDF 可以大大提高信息整合度,讓收件人無需額外查找即可訪問所有資源,本文演示如何在 同一 PDF 文件中實現(xiàn) 直接添加附件和添加附件注釋,希望對大家有所幫助2025-11-11
在python中計算ssim的方法(與Matlab結(jié)果一致)
這篇文章主要介紹了在python中計算ssim的方法(與Matlab結(jié)果一致),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12
DataFrame 將某列數(shù)據(jù)轉(zhuǎn)為數(shù)組的方法
下面小編就為大家分享一篇DataFrame 將某列數(shù)據(jù)轉(zhuǎn)為數(shù)組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04

