Openpyxl, как перебрать листы, чтобы добавить изображение внутри каждого? - PullRequest
0 голосов
/ 02 июля 2018

Я хочу добавить изображение к каждому отдельному листу в рабочей книге, однако, когда я пытаюсь перебрать рабочую книгу с помощью цикла for, программа возвращает ошибку, однако добавление к первому листу работает просто отлично.

Вот код, который работает, однако его можно добавить только на первый лист:

    ws = wb.active
    img = Image('screenshot.png')
    ws.add_image(img, 'A1')

А вот код, который пытается перебрать каждый лист:

    img = Image('screenshot.png')
    for sheet in wb:
        sheet.add_image(img, 'A1')

И это ошибка, которую он возвращает:

    UserWarning: Duplicate name: 'xl/media/image4.png'

Кажется, проблема в wb.active, но я не уверен, как интегрировать его в цикл for ...

1 Ответ

0 голосов
/ 02 июля 2018

Только что нашел исправление, если кому-то интересно, вам нужно назначить переменную 'img' в цикле for:

    for sheet in wb:
        img = Image('screenshot.png')
        sheet.add_image(img, 'A1')
...