Python,Excel和图表使用win32com

Python和MS Excel的问题 – 使用win32com,我能够在Excel中创build图表,但我无法在工作表中移动它。 我在网上find代码来生成图表:

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? 

我该如何移动工作表中的图表? 在这里输入图像说明

您可以在创build图表expression.AddChart(Type, Left, Top, Width, Height)时指定位置expression.AddChart(Type, Left, Top, Width, Height)请参阅此处 。

如果您不想将图表embedded到工作表中,则可以创build图表工作表:

wb.Worksheets.Add(Type:=xlChart)

警告:Microsoft.interop.Excel不win32com,但应该工作。