2

私のツールからレポートを作成する必要があるため、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

ここでの問題は、必要なカテゴリは 1 つだけですが、デフォルトのグラフでは 3 つ作成されることです。したがって、3 つの列がありますが、そのうちの 1 つだけを埋めます。それらを上書きしても機能しません。

使用する範囲を変更する方法はありますか (PPT/EXCEL で青いボックスをドラッグして行うように)?

4

1 に答える 1

2

注:誰かがより良い解決策を見つけたら、答えてください:)

私はそれを行う1つの(醜い)方法を見つけました:
https://msdn.microsoft.com/en-us/library/office/ff746759.aspx

残念ながら、このメソッドの Powerpoint 版は Range オブジェクトを使用せず、Excel-Selection Strings を使用します。したがって、この Methode を使用する場合は、変換するパーサーを作成する必要があります。

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

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

最終的に、私のソリューションは次のようになります。

myChart.SetSourceData("'Tabelle1'!$A$1:$B$5", Excel.XlRowCol.xlColumns);
于 2015-06-18T10:08:04.517 に答える