charts = wb[sheet_name].charts AttributeError: 'Worksheet' object has no attribute 'charts'
时间: 2024-11-20 08:55:27 浏览: 14
v-charts-基于Vue2.x和Echarts的图表组件。-Vue.js开发
在OpenPyXL库中,`charts` 属性并不直接属于 `Worksheet` 对象。`charts` 是 `Workbook` 类的一部分,用于创建和管理图表。如果你想要访问工作簿级别的图表,你应该这样操作[^1]:
```python
# 假设wb是已经打开的工作簿,sheet_name是你想要添加图表的Sheet名称
charts = wb.charts
# 如果你想在特定工作表上添加图表,应先找到该工作表
chart = charts.add_chart(openpyxl.chart.BarChart(), ws=sheet_name)
# 创建数据源并添加到图表
refObj = openpyxl.chart.Reference(ws, ...) # 用ws替换'sheet'
seriesObj = openpyxl.chart.Series(refObj, ...)
chart.series.append(seriesObj)
# 然后将图表放置在指定位置
chart.location = "C5"
wb.save('sampleChart.xlsx')
```
如果在尝试访问 `charts` 时遇到 `AttributeError`,确认你是在正确的上下文中操作(即已创建或打开了工作簿),并且工作表名 (`sheet_name`) 正确无误。
阅读全文