ZBLOG

# 打开现有的Excel工作簿 wb = load_workbook(name_str) ws = wb[site_name] # 替换为实际的工作表名称 temp_image_path = str(sys.argv[1])+str(date_time)+".png" # temp_image_path = str(sys.argv[1])+"20240824171828866"+".png" # print(temp_image_path) # 将Base64编码字符串转换为Im...

根据您提供的代码,您已经将 wb.save(name_str) 放在了正确的位置。这样做是正确的,因为在添加图像后保存工作簿是一个常见的做法。

请注意,代码中使用的 decode_base64_to_image 函数并不属于 Python 标准库。您需要确保自己实现或引入此函数,以便将 Base64 编码字符串转换为 Image 对象。

另外,关于关闭图像文件对象 image.close() 的部分,在这里似乎是多余的。因为 image 变量代表的应该是 PIL Image 对象,并没有与文件相关联。所以可以将这行代码删除。

最终修改后的代码示例:

”`python from openpyxl import load_workbook from openpyxl.drawing.image import Image as XLImage from PIL import Image

打开现有的Excel工作簿

wb = load_workbook(name_str) ws = wb[site_name] # 替换为实际的工作表名称

temp_image_path = str(sys.argv[1]) + str(date_time) + “.png”

将Base64编码字符串转换为Image对象

image = decode_base64_to_image(sign_image, temp_image_path)

加载图像文件并转换为PIL Image对象(这一行可能需要替换)

pil_image = Image.open(image)

调整图像尺寸以适应单元格大小(可选)

img_width, img_height = pil_image.size cell_width = ws.column_dimensions[‘G’].width - 2 # 减去边框宽度,根据实际情况调整值 cell_height = (cell_width / img_width) * img_height

resized_image = pil_image.resize((int(cell_width), int(cell_height)))

创建Excel工作簿中的图像对象,并插入到指定位置

xl_img = XLImage(resized_image) xl_img.width = cell_width - 2 # 减去边框宽度,根据实际情况调整值 xl_img.height = cell_height - 2 # 减去边框宽度,根据实际情况调整值 ws.add_image(xl_img, ‘G29’)

保存Excel文件

wb.save(name_str) “`


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=18094

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?