python - xlwings 中的图表对象
问题描述
代码片段来自xlwings
这里的官方文档,它是我的问题的设置。
import xlwings as xw
sht = xw.Book().sheets[0]
sht.range('A1').value = [['Foo1', 'Foo2'], [1, 2]]
chart = sht.charts.add()
chart.set_source_data(sht.range('A1').expand())
chart.chart_type = 'line'
chart.name
运行print(chart.api)
输出下面的元组。
(<xlwings._xlwindows.COMRetryObjectWrapper at 0x1fcd60c9a90>, <xlwings._xlwindows.COMRetryObjectWrapper at 0x1fcd60c9f28>)
如果我想使用api属性来做一些基本的图表操作,比如删除图例并添加标题,它只有在我这样做时才有效chart.api[1]
。例如下面的代码工作正常。它删除图表图例并添加标题。
chart.api[1].HasLegend = 0
chart.api[1].SetElement(2)
chart.api[1].ChartTitle.Text = 'A title'
但是,我所做的任何事情都会chart.api[0]
产生错误(例如print(chart.api[0].HasLegend)
产生错误)。我无法理解这是什么类型的对象或它有什么用处。我在官方文档中找不到任何关于此的内容。
最后我的问题是:上面索引 0 处的对象是什么?请帮我弄清楚它是什么。
解决方案
还有一篇文章解决了您关于索引 0 处对象的问题。
表达式chart.api 返回一个带有两个COM 包装器的元组。我不太确定为什么有两个 COM 包装器,但您似乎需要第二个来访问图表。因此在这里使用chart.api[1]。
推荐阅读
- excel - 如何使用 IF Then 语句表示单元格减去单元格等于?
- java - 如何在android中制作带有圆角、背景图像和文本的按钮
- c# - 简化正则表达式
- nginx - Configuration issue with "return 301" on nginx and aws
- batch-file - How to check if all the arguments have the .txt file extension in a batch file?
- docker - 如何设置 Oracle Dynamo 管理服务器?
- polymer - 如何在 dom-repeat 中的路径名中包含动态属性?
- arrays - How can I display my json object with TypeScript in Angular?
- c - 你如何对 void 指针进行类型转换?
- typescript - TypeScript 中的联合类型赋值