Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用c语言编辑excel图表数据范围#_Excel_C# 4.0 - Fatal编程技术网

用c语言编辑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

我正在尝试使用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.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