Изменение диапазона диаграммы в 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);
Другие вопросы по тегам