用c语言编辑excel图表数据范围#
我正在尝试使用Microsoft.Office.Interop.excel创建excel散点图。 我有两个数据范围用c语言编辑excel图表数据范围#,excel,c#-4.0,Excel,C# 4.0,我正在尝试使用Microsoft.Office.Interop.excel创建excel散点图。 我有两个数据范围 Range chartRange1 = xlWorkSheet.Range["A1", "B5"]; Range chartRange2 = xlWorkSheet.Range["A6", "B10"]; 对于2组点。“A”列指定x坐标,“B”列指定y坐标。 当我以这种方式创建图表时: chartPage.ChartType = Excel.XlChartTy
Range chartRange1 = xlWorkSheet.Range["A1", "B5"];
Range chartRange2 = xlWorkSheet.Range["A6", "B10"];
对于2组点。“A”列指定x坐标,“B”列指定y坐标。
当我以这种方式创建图表时:
chartPage.ChartType = Excel.XlChartType.xlXYScatter;
var seriesCol = chartPage.SeriesCollection(misValue);
seriesCol.add(chartRange1, misValue, misValue, misValue, misValue);
seriesCol.add(chartRange2, misValue, misValue, misValue, misValue);
我得到4组点,x坐标从1到5,y坐标由A1-A5、B1-B5、A6-A10、B6-B10指定
如何使图表包含两组点,x坐标定义在“A”列,y坐标定义在“B”列
谢谢 您必须将此从VBA转换为您自己的语法 SeriesCollection对象的添加方法如下:
Function Add(Source, [Rowcol As XlRowCol = xlColumns],
[SeriesLabels], [CategoryLabels], [Replace]) As Series
您只想添加一个系列,而不是添加两个系列。因此,您需要根据两个范围的并集定义一个范围。在VBA中:
Set ChartRange = Union(ChartRange1, ChartRange2)
然后您可能可以使用(在您的语法中)
其中,我使用True作为CategoryLabel的值,试图强制Excel使用第一列作为X值
有时在VBA中,如果有一个新的图表,它就不能完全正确地工作。在这种情况下,需要使用Y值添加序列,然后应用X值。第一行是语法,第二行是纯VBA
seriesCol.add(chartRange2, misValue, misValue, misValue, misValue);
seriesCol(1).XValues = ChartRange1
seriesCol.add(chartRange2, misValue, misValue, misValue, misValue);
seriesCol(1).XValues = ChartRange1