Compartilhamento de tecnologia

Python inserir, substituir, extrair ou excluir imagens no Excel

2024-07-08

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

Excel é uma ferramenta utilizada principalmente para processamento de tabelas e dados. Também podemos inserir, editar ou gerenciar imagens para adicionar efeitos visuais à planilha e aumentar a atratividade do relatório. Este artigo apresentará em detalhes como usar Python para operar imagens no Excel, incluindo os 4 exemplos básicos a seguir:

Primeiro você precisa instalar a biblioteca Python de terceiros - Spire.XLS para Python . Você pode baixar o produto e instalá-lo a partir do caminho local ou usar diretamente o seguinte comando pip para instalá-lo:

pip install Spire.XLS

Python insere imagens no Excel

Podemos usar a biblioteca Spire.XLS para Python para inserir imagens em células especificadas e definir o tamanho da imagem, etc. Veja como fazer isso:

  1. Criar pasta de trabalhoWorkbookObjecte e obtenha a planilha especificada;
  2. usarWorksheet.Pictures.Add(int topRow, int leftColumn, Image image)Método para inserir uma imagem na célula especificada da planilha;
  3. passarExcelPictureCada atributo da classe define a largura, altura, distância da borda da célula, etc. da imagem;
  4. usarSaveToFile()Método para salvar arquivo Excel.

Código de amostra:

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

Imagem Python Excel

Python substitui imagens no Excel

Para substituir a imagem original no Excel por uma nova imagem, você pode seguir as seguintes etapas:

  1. Carregue o arquivo Excel e obtenha a planilha especificada;
  2. passarWorksheet.Pictures[]O atributo obtém a imagem especificada;
  3. Carregue uma nova imagem e passeExcelPicture.PictureA propriedade substitui a imagem especificada por uma nova imagem;
  4. usarSaveToFile()Método para salvar arquivo Excel.

Código de amostra:

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 substitui imagens do Excel

Python extrai imagens do Excel

A biblioteca Spire.XLS para Python também pode ler imagens em documentos Excel e salvá-las no caminho de arquivo especificado. Proceda da seguinte forma:

  1. Carregue o arquivo Excel e obtenha a planilha especificada;
  2. Itere todas as imagens na planilha;
  3. transferirExcelPicture.Picture.Save()Método para extrair imagens do Excel.

Código de amostra:

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 lê imagens do Excel

Python excluir imagens no Excel

Worksheet.Pictures[imgIndex].Remove() O método nos permite excluir a imagem especificada por índice. Para excluir todas as imagens no Excel, você pode percorrer cada imagem e excluí-la. O código de exemplo é o seguinte:

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 excluir imagens do Excel

Os exemplos acima podem ajudá-lo a dominar as habilidades de uso do Python para inserir, substituir e excluir imagens no Excel e realizar algumas configurações básicas de imagens.Se você tiver alguma dúvida, você pode ir parafórumcomunicar.