使用Python操作Excel中图片的基础示例(插入、替换、提取、删除)

 更新时间:2024年07月05日 10:58:02   作者:Eiceblue  
Excel是主要用于处理表格和数据的工具,我们也能在其中插入、编辑或管理图片,为工作表增添视觉效果,提升报告的吸引力,本文将详细介绍如何使用Python操作Excel中的图片,文中有详细代码示例供大家参考,需要的朋友可以参考下

Excel是主要用于处理表格和数据的工具,我们也能在其中插入、编辑或管理图片,为工作表增添视觉效果,提升报告的吸引力。本文将详细介绍如何使用Python操作Excel中的图片,包含以下4个基础示例:

  • Python 在Excel中插入图片
  • Python 替换Excel中的图片
  • Python 提取Excel中的图片
  • Python 删除Excel中的图片

首先需要安装第三方Python库- Spire.XLS for Python。可以下载产品后再从本地路径安装使用,也可以直接使用以下pip命令安装:

pip install Spire.XLS

Python 在Excel中插入图片

我们可以使用Spire.XLS for Python库在指定单元格中插入图片,并设置图片大小等。操作如下:

  1. 创建工作簿Workbook对象并获取指定工作表;
  2. 使用Worksheet.Pictures.Add(int topRow, int leftColumn, Image image)方法在工作表指定单元格中插入图片;
  3. 通过ExcelPicture类下的各属性设置图片的宽度、高度、与单元格边框的距离等;
  4. 使用SaveToFile()方法保存Excel文件。

示例代码:

from spire.xls import *
from spire.xls.common import *
     
# 创建Workbook对象
workbook = Workbook()

# 获取第一张工作表
sheet = workbook.Worksheets[0]

# 在指定单元格中插入图片(此处为第一行第二列,即B1单元格)
picture = sheet.Pictures.Add(1, 2, "示例.png")

# 设置图片宽高度
picture.Width = 120
picture.Height = 120

# 调整图片所在位置的列宽和行高
sheet.Columns[1].ColumnWidth = 20
sheet.Rows[0].RowHeight = 110

# 设置单元格边框与图片之间的距离
picture.LeftColumnOffset = 90
picture.TopRowOffset = 20

# 保存文件
workbook.SaveToFile("插入图片.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Python 替换Excel中的图片

要用新图片替换Excel中的原有图片,可以参考如下步骤:

  1. 加载Excel文件,并获取指定工作表;
  2. 通过Worksheet.Pictures[]属性获取指定图片;
  3. 加载新图,并通过ExcelPicture.Picture属性将指定图片替换为新图;
  4. 使用SaveToFile()方法保存Excel文件。

示例代码:

from spire.xls import *
from spire.xls.common import *

# 加载Excel文档
workbook = Workbook()
workbook.LoadFromFile ("插入图片.xlsx")

# 获取第一张工作表
sheet = workbook.Worksheets[0]

# 获取工作表中第一张图片
excelPicture = sheet.Pictures[0]
            
# 替换图片
excelPicture.Picture = Image.FromFile("pic.jpg")

# 保存文档
workbook.SaveToFile("替换图片.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Python 提取Excel中的图片

Spire.XLS for Python库也可以读取Excel文档中的图片,并保存到指定的文件路径。步骤如下:

  • 加载Excel文件,并获取指定工作表;
  • 遍历工作表中的所有图片;
  • 调用ExcelPicture.Picture.Save()方法提取Excel中的图片。

示例代码:

from spire.xls import *
from spire.xls.common import *

# 加载Excel文档
workbook = Workbook()
workbook.LoadFromFile("图标.xlsx")

# 获取第一张工作表
sheet = workbook.Worksheets[0]

# 获取工作表中所有图片
for i in range(sheet.Pictures.Count - 1, -1, -1):
    pic = sheet.Pictures[i]

    # 保存图片
    pic.Picture.Save("提取图片\\图片-{0:d}.png".format(i), ImageFormat.get_Png())

workbook.Dispose()

Python 删除Excel中的图片

Worksheet.Pictures[imgIndex].Remove() 方法允许我们通过索引删除指定图片。要删除Excel中所有图片,可以遍历每张图片然后删除。示例代码如下:

from spire.xls import *
from spire.xls.common import *

# 加载Excel文档
workbook = Workbook()
workbook.LoadFromFile("图标.xlsx")

# 获取第一张工作表
sheet = workbook.Worksheets[0]

# 删除工作表中所有图片
for i in range(sheet.Pictures.Count - 1, -1, -1):
    sheet.Pictures[i].Remove()

# 删除指定图片
# sheet.Pictures[imgIndex].Remove()

# 保存文档
workbook.SaveToFile("删除图片.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

上述示例能帮助掌握使用Python在Excel中插入、替换、删除图片的技巧,并进行一些基本的图片设置。

到此这篇关于使用Python操作Excel中图片的基础示例(插入、替换、提取、删除)的文章就介绍到这了,更多相关Python操作Excel图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Python中操作PDF的常见方法小结

    在Python中操作PDF的常见方法小结

    当在Python中操作PDF时,有几种常见的方法,每种方法都有其独特的优点和用例,在本文中,我们将深入探讨这些方法,并提供丰富的示例代码,以帮助大家更好地理解如何使用这些技术,需要的朋友可以参考下
    2024-01-01
  • 使用EduBlock轻松学习Python编程

    使用EduBlock轻松学习Python编程

    今天小编就为大家分享一篇关于使用EduBlock轻松学习Python编程的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 详解Python如何利用Pandas与NumPy进行数据清洗

    详解Python如何利用Pandas与NumPy进行数据清洗

    许多数据科学家认为获取和清理数据的初始步骤占工作的 80%,花费大量时间来清理数据集并将它们归结为可以使用的形式。本文将利用 Python 的 Pandas和 NumPy 库来清理数据,需要的可以参考一下
    2022-04-04
  • Python读取配置文件-ConfigParser的二次封装方法

    Python读取配置文件-ConfigParser的二次封装方法

    这篇文章主要介绍了Python读取配置文件-ConfigParser的二次封装方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 浅谈TensorFlow之稀疏张量表示

    浅谈TensorFlow之稀疏张量表示

    这篇文章主要介绍了浅谈TensorFlow之稀疏张量表示,具有很好的参考就价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python字符串模糊匹配工具TheFuzz的用法详解

    Python字符串模糊匹配工具TheFuzz的用法详解

    在处理文本数据时,常常需要进行模糊字符串匹配来找到相似的字符串,Python的TheFuzz库提供了强大的方法用于解决这类问题,本文将深入介绍TheFuzz库,探讨其基本概念、常用方法和示例代码,需要的朋友可以参考下
    2023-12-12
  • Django多app路由分发(纯后端)

    Django多app路由分发(纯后端)

    本文主要介绍了Django多app路由分发,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)

    python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)

    在python中能够进行html和xhtml的库有很多,如HTMLParser、sgmllib、htmllib、BeautifulSoup、mxTidy、uTidylib等,这里介绍一下HTMLParser、BeautifulSoup等模块
    2014-06-06
  • Python中进程和线程的区别详解

    Python中进程和线程的区别详解

    这篇文章主要介绍了Python中进程和线程的区别详解,需要的朋友可以参考下
    2017-10-10
  • tensorflow下的图片标准化函数per_image_standardization用法

    tensorflow下的图片标准化函数per_image_standardization用法

    这篇文章主要介绍了tensorflow下的图片标准化函数per_image_standardization用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论