实例化 Excel 函数

发布于 2024-09-27 16:43:44 字数 490 浏览 4 评论 0原文

每次我寻找如何在 C# 应用程序中使用 excel 函数时,都会告诉我执行以下操作:

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

我遇到的问题是,虽然智能感知正在检测 IExcel,但它没有显示 IWorksheetFunction。然而它显示的是 WorksheetFunction。无论哪种方式,它都不让我将其实例化为对象。我收到错误:无法创建抽象类或接口“Microsoft.Office.Interop.Excel.WorksheetFunction”的实例

有什么想法吗?

Everywhere I look for how to use excel function inside of a C# application tells me to do the following:

  • From the COM TabAdd the following using statement:using IExcel = Microsoft.Office.Interop.Excel
  • Then declare and initialise a IWorkSheetFunction objectIExcel.IWorksheetFunction iwf = new IExcel.IWorksheetFunction();
  • Now you can use the functions as in int result = iwf.Math.Sum(1,2);

The problem im having is that while intellisense is detecting IExcel, it is not showing IWorksheetFunction. It is however showing WorksheetFunction. Either way, it is not letting me instantiate it as an object. I am getting the error: Cannot create an instance of the abstract class or interface 'Microsoft.Office.Interop.Excel.WorksheetFunction'

any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

金橙橙 2024-10-04 16:43:44

尝试:

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;

Try:

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

Basically it comes down to, instead of:

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

use the WorksheetFunction property in Excel.Application:

IExcel.IWorksheetFunction iwf = xl.WorksheetFunction;
明媚殇 2024-10-04 16:43:44

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

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

}

Its a function off the application object.

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

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文