Python, Excel,和图表使用win32com

3

Python和MS Excel问题 - 使用win32com,我能够在Excel中创建图表,但是我无法将它移动到工作表中。我在网上找到了生成图表的代码:

import win32com.client
from win32com.client import constants as c

xl = win32com.client.gencache.EnsureDispatch('Excel.Application')
xl.Visible = True
wb = xl.Workbooks.Add()
ws = xl.ActiveSheet
ws.Range('A1').FormulaR1C1 = 'X'
ws.Range('B1').FormulaR1C1 = 'Y'
ws.Range('A2').FormulaR1C1 = 1
ws.Range('A3').FormulaR1C1 = 2
ws.Range('A4').FormulaR1C1 = 3
ws.Range('B2').FormulaR1C1 = 4
ws.Range('B3').FormulaR1C1 = 5
ws.Range('B4').FormulaR1C1 = 6
#ws.Range('A1:B4').Select()
ch = ws.Shapes.AddChart().Select()
xl.ActiveChart.ChartType = c.xlXYScatterLines
xl.ActiveChart.SetSourceData(Source=ws.Range("A1:B4"))
#ch.Location(10,10) # something like this?

我该如何在工作表内移动图表? 在这里输入图片描述
1个回答

3
您可以在创建图表时指定位置,expression.AddChart(Type, Left, Top, Width, Height) 请参阅此处。如果您不想将图表嵌入工作表中,可以创建一个图表工作表:wb.Worksheets.Add(Type:=xlChart)注意:这里使用的是Microsoft.interop.Excel而非win32com,但应该可以工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接