代码片段来自于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处的对象是什么?拜托,帮我摸摸它是什么。
发布于 2018-09-13 16:40:15
还有一篇文章在索引0处回答了您关于对象的问题。
表达式chart.api返回一个包含两个COM包装器的元组。我不太清楚为什么会有两个COM包装器,但似乎需要第二个包装器才能访问图表。因此这里使用了chart.api1。
https://stackoverflow.com/questions/52106083
复制相似问题