IWorksheetFunction - 对象引用问题

IWorksheetFunction - problem with object reference

我用Microsoft.Office.Interop.Excel

我的代码有错误

非静态字段方法需要对象引用或属性

 public class CalculationsController : Controller
  {
 public double Irr(double a, double b)
    {

      Irr irr = new Irr()
      {
        a = a,
        b = b
      };

      var y = IWorksheetFunction.Irr(irr.a, irr.b); // here error

      return y;

    }

public class Irr
  {
    public double a { get; set; }
    public double b { get; set; }
  }
}

我无法更改 IWorksheetFunction.Irr,因为它的包

@Fildor 在评论中强调了您的代码的第一个问题。您不能调用 Interface。您应该将 Interfaces 视为蓝图。您应该改为调用 WorksheetFunction class,因为它实现了 IWorksheetFunction Interface.

第二个可能的问题是您没有包含正确的库来访问 WorksheetFunction class。您可以通过将其放在文件的最顶部来包含它。

using Microsoft.Office.Interop.Excel;

如果出现任何问题,您可能需要安装 Microsoft.Office.Interop.Excel nuget 包。 Here 是你如何做到的