Форум сайта python.su
0
Есть библиотека openpyxl, есть python 3.. есть xlsx файл.
Нужно вставить определенным образом картинку (которая в свою очередь генерируется с помощью библиотеки qr кодов)
Я нашел описание работы openpyxl с картинками ссылка но питон отказывается вставлять ссылаясь anchor . В чем проблема как решить?
import qrcode import openpyxl wb = openpyxl.load_workbook(filename = 'C:/python/python program/qr code/qr.xlsx') ws = wb.worksheets[1] img1 = qrcode.make('1111')#генерация картинки (можно убрать) img1.show() img1.save("C:/python/python program/qr code/qr1/11.png") img1.anchor(ws['D12']) (('D', 12), ('D', 21)) wb.save('C:/python/python program/qr code/qr.xlsx')
python/python program/qr code/qr1/qr1.py”, line 9, in <module>Отредактировано omon3 (Ноя. 17, 2015 14:08:24)
Офлайн
53
omon3
потому для openpyxl
from openpyxl.drawing import Image
Отредактировано sander (Ноя. 17, 2015 17:59:09)
Офлайн
39
Заюзайте уже XlsxWriter. Он и проще и таких проблем нет…
Офлайн
0
sanderи что делать тогда?, как тогда просто картинку вставить из какой-нибудь директории?
omon3потому для openpyxl
Офлайн
39
Вам же написали.
1. Сохраните картинку с QR.
2. Откройте картинку используя модуль Image в openpyxl.
3. Проделайте все операции с бедным изображением и запихните мученика в workbook.
from openpyxl.drawing import Image # img = Image('path_to_saved_image')
Отредактировано 4kpt_III (Ноя. 18, 2015 03:14:50)
Офлайн
0
4kpt_IIIЯ пытаюсь запихнуть но все никак - почему то все компилируется успешно, но изменений в excel не наблюдается. Нет никакой картинки внутри…
Вам же написали.1. Сохраните картинку с QR.2. Откройте картинку используя модуль Image в openpyxl.3. Проделайте все операции с бедным изображением и запихните мученика в workbook.
import qrcode import openpyxl from openpyxl.drawing import Image wb = openpyxl.load_workbook(filename = 'C:/python/python program/qr code/qr.xlsx') ws = wb.worksheets[1] img1 = qrcode.make('1111')#генерация картинки (можно убрать) img1.save("C:/python/python program/qr code/11.png") img = Image('C:/python/python program/qr code/11.png') ws.add_image(img) print(img1) print(img) img.anchor(ws['D12']) wb.save('C:/python/python program/qr code/qr.xlsx')
Офлайн
39
А картинка создается в нужной папке?
Офлайн
253
omon3:) Если оно у вас компилируется, то точно работать не будет.
почему то все компилируется успешно
Офлайн
0
4kpt_IIIЯ нашел проблему - Оказывается для этого всего нужно почему-то такая строчка:
А картинка создается в нужной папке?
ws = wb.active
Офлайн
0
С новой столкнулся проблемой - картинки постепенно съезжают. Тоесть прописываю четко формулу вставления картинок и каждая последующая немного съезжает вниз(в итоге на 100й разница в 10 или 20 строк). На сайте библиотеки поменяли описание работы с картинками и другие способы вставления удалили openpyxl.
Не могу понять закономерности из-за чего все едет. Главный вопрос - это КАК сделать так чтобы картинка 100% вставлялась туда куда указано со 100% точностью
Вот кусок кода:
D=5+i*30 print(D) img.anchor(ws.cell(row=D, column=1)) ws.add_image(img)
Отредактировано omon3 (Ноя. 21, 2015 13:26:32)
Офлайн