使用 python 在单元格 excel 中填充图像
Fill a image in a cell excel using python
我正在尝试使用 openpyxl 模块将调整大小的照片添加到 excel 文件中 python 我正在使用以下代码但没有用...仅添加照片(未调整大小)来自指定的单元格。
import openpyxl
from openpyxl import load_workbook
from openpyxl import Workbook
wb = load_workbook('file.xlsx')
ws = wb.active
img = Image.open('photo.jpg')
nimg = img.resize((140,92))
img=openpyxl.drawing.image.Image('photo.jpg')
ws.add_image(img, 'F2') #where F2 is the cell where i want to add the photo
wb.save('test.xlsx')
我也尝试用 PIL 打开图像,但是当我想将调整后的图像作为参数时,我遇到了一些错误..
import openpyxl
from PIL import Image
from openpyxl import load_workbook
from openpyxl import Workbook
wb = load_workbook('file.xlsx')
ws = wb.active
img = Image.open('photo.jpg')
nimg = img.resize((140,92))
final=openpyxl.drawing.image.Image(nimg) #i think here i got some errors
ws.add_image(final)
wb.save('test.xlsx')
Traceback (most recent call last): File "C:/Users/uidn4858/Desktop/Task2/sc.py", line 29, in <module> new=openpyxl.drawing.image.Image(nimg, 'F2') File "C:\Python27\lib\site-packages\openpyxl-2.4.9-py2.7.egg\openpyxl\drawing\image.py", line 54, in __init__ self.format = image.format.lower() AttributeError: 'NoneType' object has no attribute 'lower'
import openpyxl
from openpyxl import load_workbook
from openpyxl import Workbook
from PIL import Image
width = 23
height = 23
img = Image.open('photo.jpg')
img = img.resize((width,height),Image.NEAREST)
img.save('photo.jpg')
wb = openpyxl.Workbook()
ws = wb.worksheets[0]
img = openpyxl.drawing.image.Image('photo.jpg')
ws.add_image(img,'F10')
wb.save('out.xlsx')
print('ready')
如果您考虑以下因素,这是可行的:
- 新工作簿已创建;
Photo.jpg
在原文件中有改动;
我正在尝试使用 openpyxl 模块将调整大小的照片添加到 excel 文件中 python 我正在使用以下代码但没有用...仅添加照片(未调整大小)来自指定的单元格。
import openpyxl
from openpyxl import load_workbook
from openpyxl import Workbook
wb = load_workbook('file.xlsx')
ws = wb.active
img = Image.open('photo.jpg')
nimg = img.resize((140,92))
img=openpyxl.drawing.image.Image('photo.jpg')
ws.add_image(img, 'F2') #where F2 is the cell where i want to add the photo
wb.save('test.xlsx')
我也尝试用 PIL 打开图像,但是当我想将调整后的图像作为参数时,我遇到了一些错误..
import openpyxl
from PIL import Image
from openpyxl import load_workbook
from openpyxl import Workbook
wb = load_workbook('file.xlsx')
ws = wb.active
img = Image.open('photo.jpg')
nimg = img.resize((140,92))
final=openpyxl.drawing.image.Image(nimg) #i think here i got some errors
ws.add_image(final)
wb.save('test.xlsx')
Traceback (most recent call last): File "C:/Users/uidn4858/Desktop/Task2/sc.py", line 29, in <module> new=openpyxl.drawing.image.Image(nimg, 'F2') File "C:\Python27\lib\site-packages\openpyxl-2.4.9-py2.7.egg\openpyxl\drawing\image.py", line 54, in __init__ self.format = image.format.lower() AttributeError: 'NoneType' object has no attribute 'lower'
import openpyxl
from openpyxl import load_workbook
from openpyxl import Workbook
from PIL import Image
width = 23
height = 23
img = Image.open('photo.jpg')
img = img.resize((width,height),Image.NEAREST)
img.save('photo.jpg')
wb = openpyxl.Workbook()
ws = wb.worksheets[0]
img = openpyxl.drawing.image.Image('photo.jpg')
ws.add_image(img,'F10')
wb.save('out.xlsx')
print('ready')
如果您考虑以下因素,这是可行的:
- 新工作簿已创建;
Photo.jpg
在原文件中有改动;