gpt4 book ai didi

c# - 在 Powerpoint 中更改图表的范围

转载 作者:太空宇宙 更新时间:2023-11-03 10:28:50 25 4
gpt4 key购买 nike

我正在尝试使用 C# 创建 Powerpoint 幻灯片,因为我必须使用我的工具创建报告。将它们导出到 Powerpoint 的想法是给定的要求,所以我无法更改。

我像这样创建并填充一个新图表:

var shape = objSlide.Shapes.AddChart(XlChartType.xlColumnStacked, 200, 200, 300, 300);
myChart = shape.Chart;

Powerpoint.ChartData pChartData = myChart.ChartData;
Excel.Workbook eWorkbook = (Excel.Workbook)pChartData.Workbook;
Excel.Worksheet eWorksheet = (Excel.Worksheet)eWorkbook.Worksheets[1];

eWorksheet.Cells[2, 1] = "DATA";
//some more Stuff that is not interesting

现在的问题是,我只需要一个类别,但默认图表创建了 3 个。所以我有 3 列,但我只填充了其中的 1 列。覆盖它们不起作用。

有没有办法更改要使用的范围(就像我在 PPT/EXCEL 中通过拖动蓝色框所做的那样)?

最佳答案

注意:如果有人找到更好的解决方案,请回答:)

我找到了一种(丑陋的)方法:
https://msdn.microsoft.com/en-us/library/office/ff746759.aspx

不幸的是,此方法的 Powerpoint 变体不使用范围对象,而是使用 Excel 选择字符串。所以如果我要使用这个方法,我将不得不编写一个解析器来转换:

worksheet.Range["A1", "B5"]

"'Tabelle1'!$A$1:$B$5"

最后我的解决方案是这样的:

myChart.SetSourceData("'Tabelle1'!$A$1:$B$5", Excel.XlRowCol.xlColumns);

关于c# - 在 Powerpoint 中更改图表的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30911695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com