Interop Excel方法LinEst与DISP_E_TYPEMISMATCH失败

我在制作Excel的LinEST函数时遇到一个问题。

我的程序是这样的

MyExcel.Application xl = new MyExcel.Application(); MyExcel.WorksheetFunction wsf = xl.WorksheetFunction; List<int> x = new List<int> { 1, 2, 3, 4 }; List<int> y = new List<int> { 11, 12, 45, 42 }; object o = wsf.LinEst(x, y, true, true); 

而命名空间是using MyExcel = Microsoft.Office.Interop.Excel;

该程序正在编译顺利,但在运行时它正在抛出一个错误

 {System.Runtime.InteropServices.COMException (0x80020005): Type mismatch. (Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH)) 

其实这是我第一次使用Excel函数..所以我无法进一步进行。 如果有人遇到这种情况,并已解决,请帮助我。

我正在使用C#3.0。

将列表x和y转换为数组:

  MyExcel.Application xl = new MyExcel.Application(); MyExcel.WorksheetFunction wsf = xl.WorksheetFunction; List<int> x = new List<int> { 1, 2, 3, 4 }; List<int> y = new List<int> { 11, 12, 45, 42 }; //object o = wsf.LinEst(x, y, true, true); object o = wsf.LinEst(y.ToArray(), x.ToArray(), false, true);