2016-12-29 139 views
0

Excelのスプレッドシートで、win32comとPythonを使用してグラフのサイズを変更しようとしています。以下のコードは、既にデータが入力されているExcelファイルを受け取り、サイズを変更したいグラフを追加します。コードの任意のアイデアを追加して、チャートのサイズを変更するための変更?ありがとう!ExcelのグラフサイズをPythonから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} 
. 
. 
. 

答えて

0

あんたは

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(タイプ、左、上、幅、高さ)の時に大きさを指定することができますopenpyxlライブラリ試してみてください。

0

interop docsによれば、AddChartの代わりにAddChart2を呼び出す必要があります。前者はleft、top、width、heightの引数をとり、Shapeを返します。後でグラフのサイズを変更する必要がある場合は、図形にLeftなどを設定できるはずです。特定のチャートを取得する必要がある場合はプロパティをWorksheetとするとChartObjectになります。ドキュメントからは、ShapeChartObjectの間の関係(存在する場合)は明確ではありません。

関連する問題