我正在使用C#(interop)创建一个excel图表。我正在使用get_Range函数从excel中的数据表中获取它。我正确地得到了图表。但我没有得到图表旁边的 图例名称 ,它将作为series0,series1。我正在使用以下代码。
Range chartRange;
Object misValue = System.Reflection.Missing.Value;
ChartObjects xlCharts = (ChartObjects)sheet0.ChartObjects(Type.Missing);
ChartObject myChart = (ChartObject)xlCharts.Add(10, 70, 250, 250);
Chart chartPage = myChart.Chart;
Chart chartPage1 = myChart.Chart;
chartRange = sheet0.get_Range("$G$45:$G$54,$AT$45:$AT$54", misValue);
chartPage.SetSourceData(chartRange, misValue);
chartPage.ChartType = XlChartType.xlColumnClustered;
chartPage.Location(XlChartLocation.xlLocationAsNewSheet, "Chart");
我在get_Range方法中改变了什么来获取图表中的图例名称?
提前谢谢。
答案 0 :(得分:0)
尝试迭代系列集合并逐个设置名称。像这样:
foreach (Series series in myChart.SeriesCollection()){
series.Name = "MyName";
}
答案 1 :(得分:0)
通常,数据的排列方式是,如果序列在列中,则数据的第一列具有所有系列的X值,其余列为Y值,数据的第一行具有系列名称,显示在图例中。要确保Excel能够以这种方式解析数据,请确保左上角的单元格为空。使用整个范围,包括第一列中的X值和第一行中的系列名称,作为SetSourceData中的图表范围。