gpt4 book ai didi

python - 使用 openpyxl 对齐图像

转载 作者:行者123 更新时间:2023-12-04 20:55:05 28 4
gpt4 key购买 nike

我已经找了几天了,找不到答案。我正在使用 python 创建一个工作表并使用 openpyxl 模块。我能够格式化单元格并在单元格中插入值。我可以在单元格中插入图像,但我需要对齐图像。

align = Alignment(horizontal = 'left', vertical = 'center', wrap_text = True
IMAGECELL = ws.cell['A1']
IMAGECELL.alignment = align

这是我用于对齐文本的代码。它不适用于图像。

最佳答案

我知道我的解决方案并不完美,但它对我有用,只是想帮助其他人节省时间。我也想添加多个图像并将它们对齐,但是当我尝试添加图像时,它们被放置在彼此之上。原来你必须使用anchors在 openpyxl 中定位图像。我想把它们放在 2 x 3 网格中。这是我的解决方案。

def excel_writer(self, _location=None, images=None):
if images is None or len(images) == 0:
return
for image in images:
proto_image = Image(str(image))
# A bit resizing
proto_image.height = 250
proto_image.width = 300

if count == 0:
proto_image.anchor = 'A3'
if count == 1:
proto_image.anchor = 'F3'
if count == 2:
proto_image.anchor = 'L3'
if count == 3:
proto_image.anchor = 'A20'
if count == 4:
proto_image.anchor = 'F20'
if count == 5:
proto_image.anchor = 'L20'
if count == 6:
proto_image.anchor = 'A43'

sheet.add_image(proto_image, proto_image.anchor)
count += 1

workbook.save(_location)

所以,我正在浏览一个图像列表并将它们添加到 anchor 位置的工作表上。对于第一张图片,count 为 0,anchor 为 A3;这意味着第一列,第三行。对于第二张图像,第三行相同但列不同,依此类推。

需要注意的一件事是我手动计算了列之间的空间。如果您的图像宽度较大,则需要沿 +ve x 轴进一步移动它,例如从 A 列到 L。

关于python - 使用 openpyxl 对齐图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49743051/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com