Python利用openpyxl库插入图片到单元格且大小随单元格改变

代码

# -*- coding: utf-8 -*-

from openpyxl import Workbook
from openpyxl.drawing.image import Image
from openpyxl.drawing.spreadsheet_drawing import AnchorMarker, TwoCellAnchor


def main():
    wb = Workbook()
    ws = wb.active

    # 设置单元格大小
    ws.column_dimensions['A'].width = 20  # 列宽(字符数)
    ws.row_dimensions[1].height = 100  # 行高(磅)

    # 插入图片
    img = Image('img.png')

    # 锚定到 A1 单元格的左上角和右下角
    _from = AnchorMarker(col=0, row=0)  # A1 左上角(索引从0开始)
    to = AnchorMarker(col=1, row=1)  # B2 左上角 = A1 右下角
    img.anchor = TwoCellAnchor('twoCell', _from, to)

    ws.add_image(img)
    wb.save('插入图片.xlsx')


if __name__ == "__main__":
    main()

运行

image-20260814141958211

posted @ 2026-08-14 14:20  南风丶轻语  阅读(42)  评论(0)    收藏  举报