Openpyxl 错误 - 在 Excel 中修改现有图表和图形

问题描述 投票:0回答:2

我正在使用 Openpyxl 包通过 python 脚本在 Excel 工作表中追加行(数字数据)。 Excel 文档由 3 个工作表组成,其他工作表中包含图形和图表。因此,每当运行 python 脚本并打开 Excel 查看更改时,其他工作表中的图表和图形都会被删除并显示错误。请查看随附的屏幕截图。

任何人都可以告诉我如何避免这种情况吗?openpyxl 中是否有任何功能不会覆盖 Excel 工作表中的现有图表数据?

python openpyxl
2个回答
0
投票

当您使用 openpyxl 追加行时,如果图形或图表位于您的代码将追加的行上。您需要先为他们重新分配一个新单元。 对于 openpyxl,例如,您有一个从“A1”到“C5”的图表,“A1”将是包含该图表的单元格,“A2”、“B3”等其他单元格将不会。 我认为这可能是删除图表的原因。并且脚本运行时需要关闭excel文件,脚本运行完成后才打开。

并使用您想要更改的确切工作表:

    wb = openpyxl.load_workbook('filename.xlsx')
    wb1 = wb['sheetname']

我将使用如下语句来移动现有元素的位置。

sheetname['A1'].value = sheetname['B1'].value

这是类似问题的链接


0
投票

Openpyxl 在读取现有 Excel 文件时似乎没有考虑所有图表属性。我在这里创建了相应的问题单和示例代码:

https://github.com/theorchard/openpyxl/issues/47

© www.soinside.com 2019 - 2024. All rights reserved.