用Python win32com如何获取对图表数据的引用table?
With Python win32com how to get a reference to a chart data table?
用Pythonwin32com如何获取图表数据的引用table?
我可以用数据创建图表 table(PowerPoint 会在单独的 window 中弹出它)
喜欢:
import win32com
from MSO import constants as msoconst
Application = win32com.client.Dispatch("PowerPoint.Application")
Application.Visible = True
Presentation = Application.Presentations.Add()
FirstSlide = Presentation.Slides.Add(1, 12)
... no problem adding slides, shapes and text and setting font size and color ....
InventoryChart = FirstSlide.Shapes.AddChart2(201,msoconst.xlColumnClustered ,10,80,470,220,False) # 0 = Clustered Column, 1 = Combo Area, 2 = Clustered Column
InventoryChartData = InventoryChart.ChartData
ChartData 不起作用:AttributeError:“”对象没有属性 'ChartData'
那么,如何获得对 PowerPoint 创建的 table 的引用?或者如何定义要用于我的数据的 table?
前阵子我也有同样的问题,花了很多时间试图找到答案。
ChartData 是 Chart 对象的 属性。所以要访问 ChartData 对象,您需要告诉 PowerPoint 您刚刚添加的形状是一个图表。
这里有两种方法。
# Option 1 - Add .Chart to end of AddChart2 method
InventoryChart = FirstSlide.Shapes.AddChart2(201,msoconst.xlColumnClustered,10,80,470,220,False).Chart
# Option 2 - Define Chart object separate from AddChart2
InventoryChart = FirstSlide.Shapes(1).Chart
# You can now access the chart's data worksheet
InventoryChartData = InventoryChart.ChartData.Workbook.Worksheets(1)
# Write a value to worksheet
InventoryChartData.Range('F1').Value = 150
# Apply numeric formatting to Series 1 values
InventoryChartData.Range('B2:B5').NumberFormat = '0.00'
用Pythonwin32com如何获取图表数据的引用table?
我可以用数据创建图表 table(PowerPoint 会在单独的 window 中弹出它) 喜欢:
import win32com
from MSO import constants as msoconst
Application = win32com.client.Dispatch("PowerPoint.Application")
Application.Visible = True
Presentation = Application.Presentations.Add()
FirstSlide = Presentation.Slides.Add(1, 12)
... no problem adding slides, shapes and text and setting font size and color ....
InventoryChart = FirstSlide.Shapes.AddChart2(201,msoconst.xlColumnClustered ,10,80,470,220,False) # 0 = Clustered Column, 1 = Combo Area, 2 = Clustered Column
InventoryChartData = InventoryChart.ChartData
ChartData 不起作用:AttributeError:“”对象没有属性 'ChartData'
那么,如何获得对 PowerPoint 创建的 table 的引用?或者如何定义要用于我的数据的 table?
前阵子我也有同样的问题,花了很多时间试图找到答案。
ChartData 是 Chart 对象的 属性。所以要访问 ChartData 对象,您需要告诉 PowerPoint 您刚刚添加的形状是一个图表。
这里有两种方法。
# Option 1 - Add .Chart to end of AddChart2 method
InventoryChart = FirstSlide.Shapes.AddChart2(201,msoconst.xlColumnClustered,10,80,470,220,False).Chart
# Option 2 - Define Chart object separate from AddChart2
InventoryChart = FirstSlide.Shapes(1).Chart
# You can now access the chart's data worksheet
InventoryChartData = InventoryChart.ChartData.Workbook.Worksheets(1)
# Write a value to worksheet
InventoryChartData.Range('F1').Value = 150
# Apply numeric formatting to Series 1 values
InventoryChartData.Range('B2:B5').NumberFormat = '0.00'