如何更改图像的位置:使用openpyxl在Excel中“使用单元格移动和调整大小”

时间:2018-03-22 15:46:13

标签: excel image openpyxl

enter image description here

如何使用Openpyxl使用Python选择此图像属性?我需要这个,所以如果我过滤Excel文档,图像也会被过滤掉。

我调用了一个函数: insert_image(ws,url,cell_picture,64,66) ws是我要添加的表单 网址是图片 cell_picture细胞 64和66的宽度和高度

我的功能是:

* def insert_image(ws,image_url,cell,width = 101,height = 129):

#load image     image_path =“image.jpg”     尝试:         urllib.request.urlretrieve(image_url,image_path)         img = Image.open(image_path)     除了:         print('Picture'+ image_url +'not found')         返回     max_width,max_height = width,height

cell_ratio = float(max_height) / max_width
img_ratio = float(img.size[1])/img.size[0]

if (cell_ratio<img_ratio):
    hpercent = (max_height/float(img.size[1]))
    wsize = int((float(img.size[0])*float(hpercent)))
    img = img.resize((wsize,max_height-1), PIL.Image.ANTIALIAS)
else:
    wpercent = (max_width/float(img.size[0]))
    hsize = int((float(img.size[1])*float(wpercent)))
    img = img.resize((max_width,hsize), PIL.Image.ANTIALIAS)

# remove image
if os.path.isfile(image_path): os.remove(image_path)
# Create openpyxl img instace
op_img = imge(img)

# Create image anchor
op_img.anchor(cell, anchortype='oneCell')
op_img.drawing.top = 1
#op_img.drawing.left = 1

# Add image to cell
ws.add_image(op_img)
#ws.insert_image(cell,op_img,{'positioning':1})

# print ('Image inserted')

return* 

0 个答案:

没有答案