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);