实例化Excel函数

时间:2010-10-18 00:35:17

标签: c# excel excel-interop

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

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

我遇到的问题是,当intellisense正在检测IExcel时,它没有显示IWorksheetFunction。但它显示了WorksheetFunction。无论哪种方式,它都不会让我将它实例化为一个对象。我收到错误:无法创建抽象类或接口的实例'Microsoft.Office.Interop.Excel.WorksheetFunction'

任何想法?

2 个答案:

答案 0 :(得分:4)

尝试:

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

使用WorksheetFunction中的Excel.Application属性:

IExcel.IWorksheetFunction iwf = xl.WorksheetFunction;

答案 1 :(得分:0)

它是一个关闭应用程序对象的函数。

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

}