首页 > 解决方案 > 为什么我的标题图像从我的模板中消失了?

问题描述

我在 Excel 中制作了一个模板文档,其中大部分是空的,除了包含我们部门徽标的标题(下图)。

模板文档

然后,我使用数据框将这个模板文档读入 pythonopenpyxl并填充它。但是,当我保存工作簿并打开 Excel 文档时,一切都完好无损,除了我的图像消失了。

如何确保我的徽标在报告中保持完整?我知道我无法将图像插入到标题中openpyxl,所以我希望通过将它包含在我的模板中(并且从不接触标题)它会保留,但事实并非如此。

Python 中的代码

from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows

wb = load_workbook('./template.xlsx')
ws = wb["Sheet1"]

for r in dataframe_to_rows(df, index=False, header=False):
    ws.append(r)

wb.save("{}".format(fn))

标签: pythonexcelopenpyxl

解决方案


可惜openpyxl目前不支持图片,请看官方文档:https ://openpyxl.readthedocs.io/en/stable/usage.html#read-an-existing-workbook

openpyxl 目前不会读取 Excel 文件中所有可能的项目,因此如果以相同的名称打开和保存现有文件中的图像和图表,它们将会丢失。

因此,当您打开模板文件时,图像不会被读取,因此不会保存在新文件中。因此,您可能不得不改用 xlsxwriter。


推荐阅读