Фрагмент кода взят из официальной документации 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
Running 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 выше? Пожалуйста, помогите мне понять, что это такое.