それは私を夢中にさせているので、誰かがこれを手伝ってくれませんか!
C# と COM インターフェイスを実用的に使用して Excel チャートを作成しています。
チャート ウィザードを使用してチャートを作成しました。
次に、このチャートにシリーズを追加したいと思います。シリーズを追加できますが、余分なデータは新しい列にあり、自動的に作成されません。
私はこれについて間違った方法で進んでいますか?
グラフを追加:
public void MakeExcelChart(string startRange, string endRange, string chartTitle, string seriesName)
{
ExcelChart = (Excel.Chart)ExcelWBook.Charts.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value);
ExcelApp.Visible = true;
ExcelChart.HasTitle = true;
ExcelChart.ChartTitle.Text = chartTitle;
ExcelRange = ExcelWSheet.get_Range(startRange, endRange);
ExcelChart.ChartWizard(ExcelRange, Excel.XlChartType.xlColumnClustered, Missing.Value, Excel.XlRowCol.xlColumns, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
ExcelChart.ApplyDataLabels(Microsoft.Office.Interop.Excel.XlDataLabelsType.xlDataLabelsShowBubbleSizes, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
ExcelChart.ChartArea.Fill.OneColorGradient(Microsoft.Office.Core.MsoGradientStyle.msoGradientHorizontal, 1, 1);
GetSeriesCollection();
ExcelSeries = ExcelSeriesCollection.Item(1);
ExcelSeries.Name = seriesName;
}
シリーズを追加するには:
public void AddSeries(string col1, string col2, string startRange, string endRange, string seriesName)
{
ExcelSeries = ExcelSeriesCollection.NewSeries();
ExcelSeries.HasDataLabels = true;
ExcelRange = ExcelWSheet.get_Range(col1+startRange, col1+endRange);
ExcelSeries.XValues = ExcelRange;
ExcelRange = ExcelWSheet.get_Range(col2+startRange, col2+endRange);
ExcelSeries.Values = ExcelRange;
ExcelChart.HasLegend = true;
ExcelSeries.Name = seriesName;
}