Создание функции Excel - PullRequest
       6

Создание функции Excel

3 голосов
/ 18 октября 2010

Везде, где я ищу, как использовать функцию Excel внутри приложения C #, я должен сделать следующее:

  • Из вкладки COM добавить следующее выражение using: using IExcel = Microsoft.Office.Interop.Excel
  • Затем объявите и инициализируйте объект IWorkSheetFunctionIExcel.IWorksheetFunction iwf = new IExcel.IWorksheetFunction ();
  • Теперь вы можете использовать функции, как в int result = iwf.Math.Sum (1, 2);

Проблема, с которой я сталкиваюсь, заключается в том, что пока intellisense обнаруживает IExcel, он не показывает функцию IWorksheetFunction.Тем не менее, он показывает функцию WorksheetFunction.В любом случае, это не позволяет мне создавать его как объект.Я получаю сообщение об ошибке: Не удается создать экземпляр абстрактного класса или интерфейса «Microsoft.Office.Interop.Excel.WorksheetFunction»

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 18 октября 2010

Попробуйте:

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;
0 голосов
/ 18 октября 2010

Это функция от объекта приложения.

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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...