C# 从C在excel中绘制图形#

C# 从C在excel中绘制图形#,c#,excel,charts,C#,Excel,Charts,我需要将我从设备上获得的一些数据导出到Excel工作表,并在其中绘制一个图表。我已经成功地将数据导出到excel,当我打开excel工作表时,我得到了正确的数据。到现在为止,一直都还不错。我一共有七个专栏。我需要用X轴(右)上的第一列值和Y轴(上)上的4,5,6列值绘制一个图。我正在使用NetOffice(版本为1.7.3)。到目前为止,我正在使用下面的代码来绘制图形 Excel.Tools.CommonUtils utils = new Excel.Tools.CommonUtils(exc

我需要将我从设备上获得的一些数据导出到Excel工作表,并在其中绘制一个图表。我已经成功地将数据导出到excel,当我打开excel工作表时,我得到了正确的数据。到现在为止,一直都还不错。我一共有七个专栏。我需要用X轴(右)上的第一列值和Y轴(上)上的4,5,6列值绘制一个图。我正在使用NetOffice(版本为1.7.3)。到目前为止,我正在使用下面的代码来绘制图形

 Excel.Tools.CommonUtils utils = new Excel.Tools.CommonUtils(excelApplication);
            Excel.Workbook workBook = excelApplication.Workbooks.Add();
            Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Worksheets[1];
//然后在一个循环中

 workSheet.Cells[2, 2].Value = "Time";
                workSheet.Cells[2, 3].Value = "Moving Average Temperature";
                workSheet.Cells[2, 4].Value = "Temperature";
                workSheet.Cells[2, 5].Value = "Moving Average Temperature in °C";
                workSheet.Cells[2, 6].Value = "Temperature in °C";
                workSheet.Cells[2, 7].Value = "Base Temperature in °C";
                workSheet.Cells[2, 8].Value = "Table ID";
在接收数据的函数之后

workSheet.Cells[2 + Glory, 2].Value = time;
                        workSheet.Cells[2 + Glory, 3].Value = MAT;
                        workSheet.Cells[2 + Glory, 4].Value = T;
                        workSheet.Cells[2 + Glory, 5].Value = MATDC;
                        workSheet.Cells[2 + Glory, 6].Value = TIC;
                        workSheet.Cells[2 + Glory, 7].Value = BTC;
                        workSheet.Cells[2 + Glory, 8].Value = TID;
                        Glory++;
在完成数据收集之后

string rangeGot = "$E5:$G"+Glory;
Excel.Range dataRange;
dataRange = workSheet.Range(rangeGot);
                    Excel.ChartObject chart = ((Excel.ChartObjects)workSheet.ChartObjects()).Add(70, 100, 375, 225);
                    chart.Chart.ChartType = Excel.Enums.XlChartType.xlLineStacked;
 chart.Chart.SetSourceData(dataRange);
 workBook.SaveAs(savedAddress);
Process.Start("excel.exe", savedAddress);
这就是我卡住的地方。数据值是正确的。但我得到的图表如下所示:

我的数据是这样的

我需要绘制图,第一列(时间)在x轴上,其余列在y轴上。谁能帮帮我吗


我面临的另一个问题是,数据正在累积。我的意思是所有三条线应该至少相交一次,因为它们都在24-25范围内。但它们被绘制出来,每个相差约25。为什么会发生这种情况,我如何避免这种情况。NetOffice中的帮助文档几乎没有。它似乎非常接近MicrosoftExcel互操作dll(由于一些蹩脚的原因,我无法添加)。非常感谢您的帮助。

发布完整的代码会有所帮助。很抱歉,我不能这样做。整个代码跨越16个类,我不知道如何在没有站点阻止的情况下将其放在这里。但无论我用Netoffice做什么样的测试,我都创建了一个单独的项目并在其中完成了。如果您想使用测试数据运行代码,我将附加它。但我认为更多的是了解函数重载和属性。发布完整的代码会有所帮助。对不起,我不能这么做。整个代码跨越16个类,我不知道如何在没有站点阻止的情况下将其放在这里。但无论我用Netoffice做什么样的测试,我都创建了一个单独的项目并在其中完成了。如果您想使用测试数据运行代码,我将附加它。但我认为更多的是了解函数重载和属性。