Compartir tecnología

Python inserta, reemplaza, extrae o elimina imágenes en Excel

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Excel es una herramienta que se utiliza principalmente para procesar tablas y datos. También podemos insertar, editar o administrar imágenes en ella para agregar efectos visuales a la hoja de trabajo y mejorar el atractivo del informe. Este artículo presentará en detalle cómo usar Python para operar imágenes en Excel, incluidos los siguientes 4 ejemplos básicos:

Primero debe instalar la biblioteca Python de terceros: Spire.XLS para Python . Puede descargar el producto y luego instalarlo desde la ruta local, o puede usar directamente el siguiente comando pip para instalarlo:

pip install Spire.XLS

Python inserta imágenes en Excel

Podemos usar la biblioteca Spire.XLS para Python para insertar imágenes en celdas específicas y establecer el tamaño de la imagen, etc. He aquí cómo hacerlo:

  1. Crear libro de trabajoWorkbookObjeto y obtener la hoja de trabajo especificada;
  2. usarWorksheet.Pictures.Add(int topRow, int leftColumn, Image image)Método para insertar una imagen en la celda especificada de la hoja de trabajo;
  3. aprobarExcelPictureCada atributo de la clase establece el ancho, alto, distancia desde el borde de la celda, etc. de la imagen;
  4. usarSaveToFile()Método para guardar un archivo Excel.

Código de muestra:

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()

Imagen de Python Excel

Python reemplaza imágenes en Excel

Para reemplazar la imagen original en Excel con una nueva imagen, puede consultar los siguientes pasos:

  1. Cargue el archivo Excel y obtenga la hoja de trabajo especificada;
  2. aprobarWorksheet.Pictures[]El atributo obtiene la imagen especificada;
  3. Cargar una nueva imagen y pasarExcelPicture.PictureLa propiedad reemplaza la imagen especificada con una nueva imagen;
  4. usarSaveToFile()Método para guardar un archivo Excel.

Código de muestra:

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 reemplaza las imágenes de Excel

Python extrae imágenes de Excel

La biblioteca Spire.XLS para Python también puede leer imágenes en documentos de Excel y guardarlas en la ruta de archivo especificada. Proceder de la siguiente:

  1. Cargue el archivo Excel y obtenga la hoja de trabajo especificada;
  2. Repita todas las imágenes de la hoja de trabajo;
  3. transferirExcelPicture.Picture.Save()Método para extraer imágenes de Excel.

Código de muestra:

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 lee imágenes de Excel

Python elimina imágenes en Excel

Worksheet.Pictures[imgIndex].Remove() El método nos permite eliminar la imagen especificada por índice. Para eliminar todas las imágenes en Excel, puede recorrer cada imagen y eliminarla. El código de muestra es el siguiente:

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 elimina imágenes de Excel

Los ejemplos anteriores pueden ayudarle a dominar las habilidades de uso de Python para insertar, reemplazar y eliminar imágenes en Excel y realizar algunas configuraciones básicas de imágenes.Si tienes alguna duda puedes dirigirte aforocomunicar.