Insert an image base 64 on excel using xlwt

帅比萌擦擦* 提交于 2019-12-06 07:15:24

问题


Hello i am workin in odoo and this save all the images like base64 on the database. I have the code, but I am making an excel report where I need to put the image, the excel driver is xlwt, but i can't find a nice method.

image = product_id.image_smal (this is a base64)

On the web i found this:

xlwt.insert_bitmap('PATH', row, col)

and this:

fh = open("imageToSave.png", "wb")
fh.write(imgData.decode('base64'))
fh.close()

I can save the image but is not inserted and give me this error:

bitmap doesn't appear to to be a valid bitmap image.

Thank you for all the help.


回答1:


to convert png to bmp you need to:

from PIL import Image

img = Image.open("imageToSave.png")
r, g, b, a = img.split()
img = Image.merge("RGB", (r, g, b))
img.save('imagetoadd.bmp')
xlwt.insert_bitmap('imagetoadd.bmp', row, col)

Hope this help!!



来源:https://stackoverflow.com/questions/30172944/insert-an-image-base-64-on-excel-using-xlwt

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!