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图片

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图片

Python 提取Excel中的图片

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

  1. 加载Excel文件,并获取指定工作表;
  2. 遍历工作表中的所有图片;
  3. 调用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图片

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中插入、替换、删除图片的技巧,并进行一些基本的图片设置。如有问题,可前往论坛交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【期末复习】微信小程序复习大纲

前言: 这周开始进入期末复习周,没时间看C/C、linux等知识了,先把期末考试必考的知识捋一遍。 目录 第一章 微信小程序入门 一、填空题 二、判断题 三、选择题 四、简答题 第二章 微信小程序页面制作 一、填空题 二、判…

java.lang.UnsupportedClassVersionError

一、问题描述 在本地打包后,在服务器上运行Jar包,出现: Exception in thread "main" java.lang.UnsupportedClassVersionError: XXX has been compiled by a more recent version of the Java Runtime (class file version 55.0),…

.NET 漏洞情报 | 某整合管理平台SQL注入

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

AI-算力集群通往AGI

背景: 自GPT-4发布以来,全球AI能力的发展势头有放缓的迹象。 但这并不意味着Scaling Law失效,也不是因为训练数据不够,而是结结实实的遇到了算力瓶颈。 具体来说,GPT-4的训练算力约2e25 FLOP,近期发布的几个…

驱使ai学习搭子,写出一份“完美”的代码“文档”

自己把控“核心关键”,ai会把文档写得比您预想的“完美”。 (笔记模板由python脚本于2024年07月04日 10:44:39创建,本篇笔记适合喜欢结伴ai学习的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free&#xff…

入深户考什么中级职称好?这个首选!

如果你学历不够,又想入户深圳的话,不妨试试通过考取一个中级职称证书入户深圳,职称证书是低学历人群入户深圳的热门方式之一。 虽然可以用来入户的证书很多,但是没有比系统集成项目管理工程师更容易考更适合入户的了!…

PHP房产小程序微信小程序系统源码

🏠—— 购房租房,一“指”搞定🏡 🔍【开篇:房产新视界,尽在掌握】 在这个信息爆炸的时代,找房子不再是一场漫长的奔波。有了“房产微信小程序”,无论是购房还是租房,都…

Java之类的生命周期

1.加载(Loading) Java虚拟机(JVM)通过类加载器根据类的全限定名通过不同渠道以二进制流的方式获取字节码信息并读取到内存中。类加载器在加载完类之后,Java虚拟机会将字节码中的信息保存到方法区中,生成一…

SVD求解超定方程

SVD求解超定方程: 正交矩阵的保范性:乘一个正交矩阵,其模大小不变,可以想象成乘一个旋转矩阵。 ∥ A x − b ∥ 2 2 ∥ U [ Σ 0 ] V T x − b ∥ 2 2 (两边同时乘 U T ,不改变模大小) ∥ [ Σ 0 ] V T x…

【PCIe】P2P DMA

PCIe P2P (peer-to-peer communication)是PCIe的一种特性,它使两个PCIe设备之间可以直接传输数据,而不需要使用主机RAM作为临时存储。如下图3的走向 比如EP1要发送和数据给EP2,操作流程如下: 1. 打开EP1的dma控制器;--client侧 …

配置jupyter时出现问题?怎么办?

在自己创建的虚拟环境(nmjpytorch)安装完jupyter,没有跳转到链接,问题如图: 解决方法: 1、查看自己的tornado版本为5.1.1,坑太高了,降低版本为4.5.3 2、卸载tornado-5.1.1 3、安装t…

首个早上提档晚上撤档的电影-《野孩子》——浔川电影报

同一天提档又撤档! 7月3日晚上10点,电影野孩子 发声明官宣撤档,“由于后期进度原因,电影《野孩子》将取消7月10日的公映安排,我们向各影管院线的同仁及所有观众朋友们致以最诚挚的歉意,谢谢大家这段时间的…

firewalld(7)NAT、端口转发

简介 在前面的文章中已经介绍了firewalld了zone、rich rule等规则设置,并且在iptables的文章中我们介绍了网络防火墙、还有iptables的target,包括SNAT、DNAT、MASQUERADE、REDIRECT的原理和配置。那么在这篇文章中,将继续介绍在firewalld中的NAT的相关配…

git常用命令速查表

Git相关概念简述 版本库:git在本地开辟的一个存储空间,一般在 .git 文件里。工作区(workspace): 就是编辑器里面的代码,我们平常开发直接操作的就是工作区。暂存区(index/stage):暂时存放文件的…

如何用Python实现三维可视化?

Python拥有很多优秀的三维图像可视化工具,主要基于图形处理库WebGL、OpenGL或者VTK。 这些工具主要用于大规模空间标量数据、向量场数据、张量场数据等等的可视化,实际运用场景主要在海洋大气建模、飞机模型设计、桥梁设计、电磁场分析等等。 本文简单…

告别写作难题,这些AI写作工具让你文思泉涌

在现实生活中,除了专业的文字工作者,各行各业都避免不了需要写一些东西,比如策划案、论文、公文、讲话稿、总结计划……等等。而随着科技的进步,数字化时代的深入发展,AI已经成为日常工作中必不可少的工具了&#xff0…

学习LLM的随笔

1、信息量、信息熵、交叉熵和困惑度 注:因为真实分布的概率为1,所以在分类任务中交叉熵可以简化为上述形式。 (1)信息熵:信息熵中使用 l o g 2 ( p ( x ) ) log_2(p(x)) log2​(p(x)) 来表示对 x x x 编码需要的…

Linux Vim 最全面教程(Linux)

文章目录 前言一、vim工作模式1、命令模式2、编辑模式3、末行模式 二、常用其他按键说明总结 前言 vim是一款功能文本编辑器,也是早年vi编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。代码补全、编译和错误跳转等…

torch.where()

API和用法: torch.where(condition, x, y) -> Tensorcondition:判断条件,一个布尔类型的张量,表示条件。 若当前index满足条件,则取x中index对应的元素 若当前index不满足条件,则取y中index对应的元…

二叉树基础

一.树 1.树的定义 在计算机科学中,树是一种用于表示层次结构的抽象数据类型和非线性数据结构。树由一组节点(Nodes)和节点之间的关系(通常通过边表示)组成。 2.特性 树是一种递归的数据结构:树可以定义为…