日期:2014-05-18  浏览次数:20792 次

C# 掉用EXCEL函数
我在C#中调用EXCEL的linest函数,返回的是一个object结果,我要如何取里面的值?
比如:
  object linestRet= app.WorksheetFunction.LinEst(iArrY, iArrX, true, false);
其中 int [,] iArrX=new int[5,2];  
  int [,] iArrY=new int[5,1];
在debug时在watch中查看结果是对的,但是不知如何取linest里面在结果。


------解决方案--------------------
类型转换一下:

你要的类型 aa=(你要的类型)linestRet;
------解决方案--------------------
这样试试:
C# code
object[] o = (object[])linestRet;
double[] a = new double[o.Length];
for (int i = 0; i < o.Length; i++)
  a[i] = double.Parse(o[i].ToString());

------解决方案--------------------
使用最小二乘法对已知数据进行最佳直线拟合,并返回描述此直线的数组。因为此函数返回数值数组,所以必须以数组公式的形式输入。

这个是一个按斜率划线的方法,他的返回值就是“数值数组”,所以在申明的时候就要申明数组。。。

object[] linestRet = app.WorksheetFunction.LinEst(iArrY, iArrX, true, false);
double[] dd = new double[linestRet.Length];

foreach.......