使用xlwt在Excel中插入基于64位编码的图像

3

你好,我正在使用odoo,并且它会将所有图像以base64的形式保存在数据库中。我已经有了代码,但是我正在创建一个需要插入图片的excel报告,这里使用的驱动程序是xlwt,但我无法找到一个好的方法。

image = product_id.image_smal (this is a base64)

我在网上找到了这个:

在 Web 上,我发现了这个:

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

并且这个:

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

我可以保存图片,但无法插入并提示以下错误:
bitmap doesn't appear to to be a valid bitmap image.

感谢您所提供的所有帮助。
1个回答

2

将PNG转换为BMP,您需要执行以下操作:

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)

希望这可以帮助你!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接