Openpyxl将表格中多个图表引用数据源工作名修改为当前工作名
时间: 2023-12-03 09:45:56 浏览: 67
PythonNotebooks:使用python中的excel文件工作的源-python source file
你可以使用 `openpyxl.chart.reference` 模块中的 `modify_graph_source_data` 函数来修改图表引用的数据源工作表名称。以下是一个示例代码:
```python
from openpyxl import load_workbook
from openpyxl.chart.reference import modify_graph_source_data
# 加载工作簿
wb = load_workbook('example.xlsx')
# 获取第一个工作表
ws = wb.worksheets[0]
# 修改所有图表引用的数据源工作表名称为当前工作表名称
for chart in ws.charts:
for series in chart.series:
if series.values:
series.values = modify_graph_source_data(series.values, ws.title)
# 保存工作簿
wb.save('example.xlsx')
```
在上面的代码中,我们首先加载了一个名为 `example.xlsx` 的工作簿,然后获取了它的第一个工作表 `ws`。接着,我们通过一个嵌套的循环遍历 `ws` 中的所有图表和系列,并使用 `modify_graph_source_data` 函数将它们引用的数据源工作表名称修改为当前工作表名称。最后,我们保存了工作簿。
阅读全文