Я пытаюсь изменить размер диаграммы в электронной таблице Excel с помощью win32com и Python. Код ниже берет файл Excel, который уже заполнен данными, и добавляет диаграмму, которую я хотел бы изменить. Есть идеи по добавлению кодаmodify для изменения размера диаграммы? Спасибо!
import win32com.client as win32
xl = win32.DispatchEx('Excel.Application')
wb = xl.Workbooks.Open('C:/newfolder/example.xlsx')
ws = wb.Worksheets('Sheet1').Select()
ws = xl.ActiveSheet
ch = ws.Shapes.AddChart().Select()
xl.ActiveChart.ChartType = c.xlXYScatterLines
xl.ActiveChart.SetSourceData(Source = ws.Range(a+':'+b),PlotBy =2)
xl.ActiveChart.HasTitle = True
xl.ActiveChart.ChartTitle.Text = 'Chart of Capabilities'
xl.ActiveChart.ChartTitle.Font.Size = 14
.
.
.
{changing various chart attriutes}
.
.
.
Попробуйте библиотеку openpyxl
Также можно указать размер во время создания выражения.AddChart(Type, Left, Top, Width, Height).
В соответствии с документами взаимодействия, вы должны звонить
AddChart2
вместоAddChart
. Первый принимает аргументы left, top, width, height и возвращает фигуру . Если вам нужно изменить размер диаграммы позже, вы должны иметь возможность установитьLeft
etc на фигуре. Если вам нужно получить определенную диаграмму, вы используетеChartObjects(index)
свойствоWorksheet
, которое даст вам ChartObject . Из документов не ясно, что такое (если есть) связь междуShape
andChartObject
.