簡體   English   中英

如何使用Python和win32com.client將數據添加到Excel圖表中

[英]How do I add data to an Excel chart using Python and win32com.client

我一直在這里看: https : //msdn.microsoft.com/en-us/vba/excel-vba/articles/object-model-excel-vba-reference

我在Excel中手動創建了圖表並記錄了宏。 使用這種方法,我試圖瀏覽要使用的方法。 在下面的代碼中,ch是工作表中的嵌入式圖表對象。 根據上面的鏈接,它應該有一個名為SetSourceData的方法,該方法將Range作為必需參數。

import win32com.client as wc

xl = wc.Dispatch("Excel.Application")
xl.Visible = True
wb = xl.Workbooks.Add() 
ws = wb.Worksheets.Add()
ws.Name = 'New Sheet'

ws.Cells(5,5).Value = 1
ws.Cells(6,5).Value = 1
ws.Cells(5,6).Value = 1
ws.Cells(6,6).Value = 1

ch = ws.ChartObjects().Add(100, 100, 100, 100)

#everything above works fine. problem is I can't add data to my chart.

ch.SetDataSource("E5:F5")

當我運行以上命令時,出現以下錯誤:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-47-5b5d1a6d3109> in <module>()
     30 ws.Cells(6,6).Value = 1
     31 
---> 32 ch.SetDataSource("E5:F5")
     33 

~\AppData\Local\Continuum\anaconda3\lib\site-
packages\win32com\client\dynamic.py in __getattr__(self, attr)
    525 
    526                 # no where else to look.
--> 527                 raise AttributeError("%s.%s" % (self._username_, attr))
    528 
    529         def __setattr__(self, attr, value):

AttributeError: Add.SetDataSource

導入win32com.client時,有什么方法可以顯示哪些方法可用嗎? 現在,我必須繼續訪問MS網站,並仔細研究圖表創建/格式化的每種方法,這種方法雖然效率不高,但我必須承認這一點。

ch.SetDataSource(Source=ws.Range('E5:F5'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM