python - 为什么我的标题图像从我的模板中消失了?
问题描述
我在 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))
解决方案
可惜openpyxl目前不支持图片,请看官方文档:https ://openpyxl.readthedocs.io/en/stable/usage.html#read-an-existing-workbook
openpyxl 目前不会读取 Excel 文件中所有可能的项目,因此如果以相同的名称打开和保存现有文件中的图像和图表,它们将会丢失。
因此,当您打开模板文件时,图像不会被读取,因此不会保存在新文件中。因此,您可能不得不改用 xlsxwriter。
推荐阅读
- angular - 角度 4 loading.dismiss() 不工作
- scala - 如何使用 Akka HTTP 表示表单数据请求?
- html - 将鼠标悬停在父元素内的元素上时使元素移动,但在另一个子元素上时不移动
- powershell - PowerShell 金字塔
- php - 在 Woocommerce 中按 SKU 对订单商品进行排序
- firebase - Firebase 托管仅部署到子目录
- r - 根据连续行号将数据框拆分为列表
- php - 继承:找不到父级
- javascript - 为什么从选择列表中选择一个选项时 DOM 没有被修改?
- batch-file - 我在 printui.exe 中通过命令行对打印机设置的状态更改使用什么语法