有没有办法使用 openpyxl 删除或修改 Python 中的 xlsx (Excel) 图表?
Is there a way to remove or modify a xlsx (Excel) chart in Python using openpyxl?
我找不到修改或删除现有工作簿中现有 Excel 图表的方法。
这是我唯一能实现的代码:
from openpyxl.chart import AreaChart, Reference, Series
import openpyxl as opyxl
def CreateGraphAC(wb, ws, rows, columns):
chart = AreaChart()
chart.title = "Area Chart"
chart.style = 13
chart.x_axis.title = 'Test'
chart.y_axis.title = 'Percentage'
cats = Reference(ws, min_col=1, min_row=2, max_row=rows)
data = Reference(ws, min_col=2, min_row=1, max_col=columns, max_row=rows)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
ws.add_chart(chart, "F1")
wb.save('test.xlsx')
wb = opyxl.load_workbook('test.xlsx')
allSheetNames = wb.sheetnames
ws = wb.active
CreateGraphAC(wb, ws, 2, 2)
我唯一发现的是,您可以通过以下方式获取工作表上的图表列表:
ws._charts
有什么建议吗?提前谢谢大家。
自己解决
将 del worksheet._charts[number]
与 workbook.save('file.xlsx')
结合使用,并使用修改后的参数创建新图表。
我找不到修改或删除现有工作簿中现有 Excel 图表的方法。
这是我唯一能实现的代码:
from openpyxl.chart import AreaChart, Reference, Series
import openpyxl as opyxl
def CreateGraphAC(wb, ws, rows, columns):
chart = AreaChart()
chart.title = "Area Chart"
chart.style = 13
chart.x_axis.title = 'Test'
chart.y_axis.title = 'Percentage'
cats = Reference(ws, min_col=1, min_row=2, max_row=rows)
data = Reference(ws, min_col=2, min_row=1, max_col=columns, max_row=rows)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
ws.add_chart(chart, "F1")
wb.save('test.xlsx')
wb = opyxl.load_workbook('test.xlsx')
allSheetNames = wb.sheetnames
ws = wb.active
CreateGraphAC(wb, ws, 2, 2)
我唯一发现的是,您可以通过以下方式获取工作表上的图表列表:
ws._charts
有什么建议吗?提前谢谢大家。
自己解决
将 del worksheet._charts[number]
与 workbook.save('file.xlsx')
结合使用,并使用修改后的参数创建新图表。