Python和win32com.client似乎缺less方法,特别是SetSourceData
我正在使用Python来自动化一些Excel数据分析。 我有大部分的基础知识,但我似乎无法find任何方式成功调用SetSourceData
或SeriesCollection
。 我读过这篇文章 (以及所有其他文章),发现它很有希望,但看起来并不符合我的经验。 我在Windows机器上使用Python 2.7.3,32位。
有没有人成功地使用过SetSourceData
或SeriesCollection
?
以下是我正在使用的代码的简化版本和错误:
chart = chartSheet.ChartObjects(1) chart.SetSourceData(chartSheet.Range("A1:B2"),PlotBy=2)
我指定PlotBy
因为如此 ,但我怀疑它的问题
而错误:
raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr)) AttributeError: '<win32com.gen_py.Microsoft Excel 14.0 Object Library.ChartObject instance at 0x68557120>' object has no attribute 'SetSourceData'
哎呀。 我应该看看IronPython吗? (我发现在MSDN文档中指定了一些其他的东西,但似乎不能在Python中工作…但现在不记得它们了。)
这条线
chart = chartSheet.ChartObjects(1)
实际上并不返回一个Chart
对象( 引号 )
该方法不等同于Charts属性。 此方法返回embedded的图表; 图表属性返回图表工作表。 使用图表属性返回embedded图表的图表对象。
我还没有尝试过,但听起来好像你需要引用chart
属性,可能是这样的:
chartObject = chartSheet.ChartObjects(1) chart = chartObject.chart