Вставка нескольких изображений в Excel с использованием OpenPyxel не работает - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь вставить изображения с OpenPyxl в файл Excel, в котором уже есть изображения (в разных листах в моем случае).Если я это сделаю, существующие изображения исчезнут.

Пример кода:

import openpyxl
from openpyxl import load_workbook

wb = openpyxl.Workbook()

ws1 = wb.create_sheet("MySheet1")
img1 = openpyxl.drawing.image.Image('test1.png')
img1.anchor = ws1.cell(row=2, column=2).coordinate
ws1.add_image(img1)
wb.save('test_output.xlsx')

wb = load_workbook(filename='test_output.xlsx')
ws2 = wb.create_sheet("MySheet2")
img2 = openpyxl.drawing.image.Image('test2.png')
img2.anchor = ws2.cell(row=2, column=2).coordinate
ws2.add_image(img2)
wb.save('test_output.xlsx')

Есть ли что-то, что я здесь не так делаю?

Заранее большое спасибо.

1 Ответ

0 голосов
/ 20 сентября 2018

Обновление:

Как указано в комментариях, это должно работать сейчас:

Вплоть до недавнего времени изображения в существующих файлах не сохранялись.Для этого вам нужно> = 2.5.5.

В старых документах указано:

В настоящее время openpyxl не читает все возможные элементы в файле Excel, поэтому изображения идиаграммы будут потеряны из существующих файлов, если они открыты и сохранены с тем же именем.

Есть несколько ошибок, связанных с этим ( здесь , здесь , здесь )

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

...