请有人可以帮我解决这个问题,因为它让我发疯!
我正在务实地使用 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;
}