Обмен технологиями

Python вставляет, заменяет, извлекает или удаляет изображения в Excel

2024-07-08

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

Excel — это инструмент, который в основном используется для обработки таблиц и данных. Мы также можем вставлять, редактировать или управлять изображениями в нем, чтобы добавлять визуальные эффекты на лист и повышать привлекательность отчета. В этой статье будет подробно описано, как использовать Python для работы с изображениями в Excel, включая следующие 4 основных примера:

Сначала вам нужно установить стороннюю библиотеку Python — Spire.XLS для Python . Вы можете загрузить продукт и затем установить его по локальному пути или напрямую использовать следующую команду pip для его установки:

pip install Spire.XLS

Python вставляет изображения в Excel

Мы можем использовать библиотеку Spire.XLS для 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 для 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, а также выполнения некоторых основных настроек изображений.Если у вас есть вопросы, вы можете перейти наФорумобщаться.