实例化一个Excel函数

我到处寻找如何在C#应用程序中使用excel函数告诉我执行以下操作:

  • 从COM选项卡中添加以下使用语句:使用IExcel = Microsoft.Office.Interop.Excel
  • 然后声明并初始化一个IWorkSheetFunction对象IExcel.IWorksheetFunction iwf = new IExcel.IWorksheetFunction();
  • 现在你可以使用函数,如int result = iwf.Math.Sum(1,2);

我的问题是,虽然intellisense正在检测IExcel,它不显示IWorksheetFunction。 但是它显示WorksheetFunction。 无论哪种方式,它不让我实例化它作为一个对象。 我得到错误:无法创build抽象类或接口的实例“Microsoft.Office.Interop.Excel.WorksheetFunction”

有任何想法吗?

尝试:

Microsoft.Office.Interop.Excel.Application xl = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.WorksheetFunction wsf = xl.WorksheetFunction; int result = wsf.Percentile(obj, 0.75); 

基本上归结为,而不是:

 IExcel.IWorksheetFunction iwf = new IExcel.IWorksheetFunction(); // You can't instantiate an interface 

Excel.Application使用WorksheetFunction属性:

 IExcel.IWorksheetFunction iwf = xl.WorksheetFunction; 

它是一个closures应用程序对象的function。

 using Microsoft.Office.Interop.Excel; static void Main(string[] args) { Application a = new Application(); double x = a.WorksheetFunction.Sum(1, 2); Console.WriteLine("Sum = {0}", x); }