Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实例化Excel函数_C#_Excel_Excel Interop - Fatal编程技术网

C# 实例化Excel函数

C# 实例化Excel函数,c#,excel,excel-interop,C#,Excel,Excel Interop,无论我在哪里查找如何在C#应用程序中使用excel函数,都会告诉我如何执行以下操作: 从COM选项卡添加以下using语句:using IExcel=Microsoft.Office.Interop.Excel 然后声明并初始化一个IWorkSheetFunction ObjectExcel.IWorkSheetFunction iwf=new IExcel.IWorkSheetFunction() 现在可以使用int result=iwf.Math.Sum(1,2)中的函数 我遇到的问题是

无论我在哪里查找如何在C#应用程序中使用excel函数,都会告诉我如何执行以下操作:

  • 从COM选项卡添加以下using语句:using IExcel=Microsoft.Office.Interop.Excel
  • 然后声明并初始化一个IWorkSheetFunction ObjectExcel.IWorkSheetFunction iwf=new IExcel.IWorkSheetFunction()
  • 现在可以使用int result=iwf.Math.Sum(1,2)中的函数
我遇到的问题是,当intellisense检测IExcel时,它没有显示iWorksheet功能。但是,它正在显示工作表功能。不管怎样,它都不允许我将其实例化为对象。我收到错误:无法创建抽象类或接口“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;

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

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

}

哦,我没注意到。我会回去追上的