Изменение диапазона диаграммы в Powerpoint
Я экспериментирую с созданием слайдов Powerpoint из C#, потому что мне нужно создавать отчеты из моего инструмента. Идея экспортировать их в 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, также перетаскивая синее поле)?
никола
1 ответ
Примечание: если кто-то найдет лучшее решение, пожалуйста, ответьте:)
Я нашел один (некрасивый) способ сделать это:
https://msdn.microsoft.com/en-us/library/office/ff746759.aspx
К сожалению, вариант Powerpoint этого метода использует не объекты Range, а строки выбора Excel. Поэтому, если бы я использовал этот метод, мне пришлось бы написать парсер, который конвертирует:
worksheet.Range["A1", "B5"]
в
"'Tabelle1'!$A$1:$B$5"
В итоге мое решение будет выглядеть так:
myChart.SetSourceData("'Tabelle1'!$A$1:$B$5", Excel.XlRowCol.xlColumns);