Сообщить об ошибке.

Добавление изображений в XLSX-документ

Несмотря на то, что изображения - это не то, что часто встречается в электронной таблице, все равно, очень здорово иметь возможность их добавлять. Изображения можно использовать как логотип компании, если XLSX-документ представляет собой прайс-лист или сделать электронные таблицы более личными.

Чтобы иметь возможность загружать изображения в электронную таблицу с помощью модуля openpyxl, необходимо установить модуль Pillow, если вдруг openpyxl не подтянул все зависимости в момент установки.

# активируем виртуальное окружение 
# с установленным `openpyxl`
$ source .venv/bin/activate
# ставим модуль `Pillow` 
(VirtualEnv):~$ python3 -m pip install -U Pillow

Для примера можно взять любую картинку в формате .png, пересохранить ее как logo.png и скопировать в корневую папку, что бы пример работал:

from openpyxl import load_workbook
from openpyxl.drawing.image import Image

wb = Workbook()
ws = wb.active

# получаем объект изображения
logo = Image("logo.png")

# чтобы не заполнять весь лист логотипом
# можно изменить размер, атрибутами объекта  
logo.height = 150
logo.width = 150

# добавляем объект изображение в ячейку "A3"
sheet.add_image(logo, "A3")

# сохраняем
workbook.save(filename="hello_world_logo.xlsx")

Открываем сохраненный файл и смотрим что получилось. Левый верхний угол изображения находится в выбранной ячейке, в данном случае это 'A3'.