从Python更改Excel中的图表大小win32com
我试图使用win32com和Python更改Excel电子表格中图表的大小。下面的代码需要一个已经填充了数据的Excel文件,并添加了一个我想调整大小的图表。任何想法添加\修改代码来改变图表的大小?谢谢!从Python更改Excel中的图表大小win32com
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库
import openpyxl chartwb = openpyxl.Workbook()
sheet = chartwb.get_active_sheet()
referenceobj = openpyxl.charts.Reference(sheet, (1, 1), (10, 1))
serObj = openpyxl.charts.Series(referenceObj, title='Chart Series')
chartObject = openpyxl.charts.BarChart()
chartObject.append(serObj)
chartObject.drawing.top = 50
chartObject.drawing.left = 100
chartObject.drawing.width = 300
chartObject.drawing.height = 200
sheet.add_chart(chartObject)
chartwb.save('example.xlsx')
您也可以在创建expression.AddChart(类型,左,上,宽度,高度)时指定的大小。
回答:
根据interop docs,您应该致电AddChart2
而不是AddChart
。前者采用左,上,宽,高的参数并返回Shape。如果您需要稍后调整图表大小,则应该可以在形状上设置Left
等。如果您需要检索特定的图表,请使用Worksheet
的ChartObjects(index)
属性,该属性将为您提供ChartObject。从文档中不清楚Shape
和ChartObject
之间是什么(如果有)关系。
以上是 从Python更改Excel中的图表大小win32com 的全部内容, 来源链接: utcz.com/qa/259935.html