Python - Чрезвычайная серия диаграмм Excel с win32com - PullRequest
0 голосов
/ 14 июня 2011

Я пишу некоторый код для назначения, и мне нужно создать простую диаграмму столбца в Excel. Сегодня днем ​​я нашел win32com (кстати, замечательный инструмент), но я страдал из-за отсутствия документации об этом или из-за отсутствия удачи найти его ^^

Я играю с графиками и думаю, что мне удалось сделать то, что я хочу, за небольшим исключением: функция, которую я написал, всегда создает 2 серии столбцов.

Вот что у меня есть:

xlBook = xlApp.Workbooks.Add()

xlSheet = xlBook.Sheets(1)
xlSheet.Name = "Algoritmos de Busqueda"
xlSheet.Cells(1,1).Value="Secuencial"
xlSheet.Cells(2,1).Value="Binaria"
xlSheet.Cells(1,2).Value="32"
xlSheet.Cells(2,2).Value="32"

chart = xlApp.Charts.Add()
chart.Name= "Grafico "+xlSheet.Name
series = chart.SeriesCollection().NewSeries()
valoresx=xlSheet.Range("A1:A2")
valoresy=xlSheet.Range("B1:B2")
series.XValues= valoresx
series.Values= valoresy
series.Name= "Algoritmos"
xAxis= chart.Axes()[0]
yAxis= chart.Axes()[1]
xAxis.HasMajorGridlines = True
yAxis.HasMajorGridlines = True

Я создаю новую серию внутри диаграммы, и она содержит всю необходимую мне информацию. Однако, когда я запускаю скрипт, я получаю диаграмму Excel с 4 столбцами с одинаковой информацией (в парах). Я сделал все, что мог, но я просто не могу найти, что создает эту вторую серию значений на оси X ...

Я очень ценю любую помощь ^^ Спасибо!

1 Ответ

1 голос
/ 15 июня 2011

Наблюдая за поведением записи макроса в Excel, который выполняет те же действия, что и репликация в Python, мы видим, что нет необходимости создавать новые серии, такие как

series = chart.SeriesCollection().NewSeries()

Я смог просто сослаться на существующую серию

series = chart.SeriesCollection(1)

Следующий код, кажется, дает мне желаемое поведение на моем компьютере.минимум.Я проверял это в Python 2.7 с Excel 2003.

...