使用 OpenPyXL 在工作表的 Header/Footer 上插入图像

Insert Image on Worksheet's Header/Footer using OpenPyXL

我正在 Django 中创建一个小应用程序,它使用 openpyxl 库生成 Excel 报告。尝试在 header / footer 部分插入图像时卡住了。文档 here roughly talks about inserting text (& ampersand codes). Checked the source code,但也没有帮助。

我看到 XlsxWriter 有这个选项。如果有人能告诉我如何在 openxlpy 中传递图像的 name/path 或者我是否需要切换库,我将不胜感激?

View.py

def get(self, request):
    wb = Workbook()
    ws = wb.active

    # header & footer
    ws.header_footer.center_header.text = '&G'

openpyxl 中,您可以通过执行以下操作将图像(插入 some_cell)添加到工作表:

wb = openpyxl.Workbook()
ws = wb.add_worksheet() #or wb.active
your_image = openpyxl.drawing.Image(path_to_image)
your_image.anchor(ws.cell(some_cell))
ws.add_image(your_image)
wb.save(your_filename.xlsx)

目前这在 openpyxl 中是不可能的,而且除非其他人贡献代码,否则永远不可能。因此,您可能必须改用 xlsxwriter。

注意。添加它还涉及保留现有文件中的图像,这是使它如此具有挑战性的事情之一。我们在 openpyxl 2.5

中开放添加对读取图像的一般支持