You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python的openpyxl库在Excel页眉中插入图片?

openpyxl 页眉插入图片实现方法

openpyxl 3.0及以上版本原生支持页眉/页脚插入图片,无需替换其他Python库,现有代码可完全保留,仅需追加少量图片绑定逻辑即可。

实现步骤

  • 加载待插入的本地图片,可按需调整图片显示尺寸
  • 通过HeaderFooterImage类绑定图片与目标页眉位置(左/中/右)
  • 将绑定完成的图片对象添加到工作表的页眉图片集合中
  • 原有页眉文本设置逻辑不受任何影响,可直接复用

可直接运行的代码示例

from openpyxl import load_workbook
from openpyxl.drawing.image import Image
from openpyxl.worksheet.header_footer import HeaderFooterImage

# 替换为你自己的文件路径
wb = load_workbook("你的工作簿路径.xlsx")
ws = wb.active

# 加载页眉图片,替换为你的图片本地路径
logo_img = Image("要插入的页眉图片.png")
# 可选:自定义图片显示尺寸,单位为像素
# logo_img.width = 120
# logo_img.height = 40

# 绑定图片到对应页眉位置:position可选值为left/center/right,对应左/中/右页眉
# 示例为左页眉、居中页眉都插入图片,按需选择即可
ws.header_footer_images.append(HeaderFooterImage(logo_img, position="left"))
ws.header_footer_images.append(HeaderFooterImage(logo_img, position="center"))

# 以下是你原有写好的页眉文本插入逻辑,完全不需要改动
ws.oddHeader.left.text = "左页眉原有文本内容"
ws.oddHeader.center.text = "居中页眉原有文本内容"

# 保存文件即可生效
wb.save("处理完成的文件.xlsx")

注意事项

  • 无需手动在页眉文本中添加&G图片占位符,openpyxl会自动完成占位符写入和资源绑定,手动添加反而会导致图片显示异常
  • 上述代码默认对奇数页页眉生效,如果需要给偶数页、首页页眉插入图片,正常配置ws.evenHeader、ws.firstHeader的文本属性即可,图片绑定逻辑一致
  • 如果运行报错或生成文件看不到图片,先执行pip install --upgrade openpyxl将版本升级到3.0.0以上,低版本不支持该特性,升级不会影响你原有代码的运行逻辑

内容的提问来源于stack exchange,提问作者Shedronne Nicia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 00:15:38