Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 17, 2015 13:46:08

omon3
Зарегистрирован: 2015-07-16
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Вставление картинки в excel

Есть библиотека 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')


Вот ошибки:
Traceback (most recent call last):
File “Cpython/python program/qr code/qr1/qr1.py”, line 9, in <module>
img1.anchor(ws)
File “C:\Python34\lib\site-packages\qrcode-5.1-py3.4.egg\qrcode\image\pil.py”, line 35, in __getattr__
File “C:\Python34\lib\site-packages\PIL\Image.py”, line 626, in __getattr__
raise AttributeError(name)
AttributeError: anchor

Отредактировано omon3 (Ноя. 17, 2015 14:08:24)

Офлайн

#2 Ноя. 17, 2015 17:58:55

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Вставление картинки в excel

omon3
потому для openpyxl

from openpyxl.drawing import Image
а qrcode использует Image из Pillow

Отредактировано sander (Ноя. 17, 2015 17:59:09)

Офлайн

#3 Ноя. 17, 2015 18:25:03

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Вставление картинки в excel

Заюзайте уже XlsxWriter. Он и проще и таких проблем нет…

Офлайн

#4 Ноя. 18, 2015 01:57:52

omon3
Зарегистрирован: 2015-07-16
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Вставление картинки в excel

sander
omon3потому для openpyxl
и что делать тогда?, как тогда просто картинку вставить из какой-нибудь директории?

Офлайн

#5 Ноя. 18, 2015 03:11:10

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Вставление картинки в excel

Вам же написали.
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)

Офлайн

#6 Ноя. 19, 2015 00:43:27

omon3
Зарегистрирован: 2015-07-16
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Вставление картинки в excel

4kpt_III
Вам же написали.1. Сохраните картинку с QR.2. Откройте картинку используя модуль Image в openpyxl.3. Проделайте все операции с бедным изображением и запихните мученика в workbook.
Я пытаюсь запихнуть но все никак - почему то все компилируется успешно, но изменений в excel не наблюдается. Нет никакой картинки внутри…

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')

Офлайн

#7 Ноя. 19, 2015 00:59:13

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Вставление картинки в excel

А картинка создается в нужной папке?

Офлайн

#8 Ноя. 19, 2015 08:12:26

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Вставление картинки в excel

omon3
почему то все компилируется успешно
:) Если оно у вас компилируется, то точно работать не будет.
Какой новый traceback? Как по вашему мнению мы должны угадывать что у вас не так?



Офлайн

#9 Ноя. 19, 2015 10:15:03

omon3
Зарегистрирован: 2015-07-16
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Вставление картинки в excel

4kpt_III
А картинка создается в нужной папке?
Я нашел проблему - Оказывается для этого всего нужно почему-то такая строчка:
ws = wb.active

Офлайн

#10 Ноя. 21, 2015 12:55:44

omon3
Зарегистрирован: 2015-07-16
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

Вставление картинки в excel

С новой столкнулся проблемой - картинки постепенно съезжают. Тоесть прописываю четко формулу вставления картинок и каждая последующая немного съезжает вниз(в итоге на 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version