3

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を使用しています。

4

1 に答える 1

2

リスト x と y を array に変換します。

    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);
于 2010-04-24T07:48:02.653 に答える