3

C#アプリケーション内でExcel関数を使用する方法を探しているところはどこでも、次のことを行うように指示されています。

  • [COM] タブから次の using ステートメントを追加します:using IExcel = Microsoft.Office.Interop.Excel
  • 次に、IWorkSheetFunction objectIExcel.IWorksheetFunction iwf = new IExcel.IWorksheetFunction(); を宣言して初期化します。
  • int result = iwf.Math.Sum(1,2); のように関数を使用できるようになりました。

私が抱えている問題は、インテリセンスが IExcel を検出している間、IWorksheetFunction が表示されないことです。ただし、WorksheetFunction が表示されています。いずれにせよ、それをオブジェクトとしてインスタンス化することはできません。エラーが表示されます: 抽象クラスまたはインターフェイス 'Microsoft.Office.Interop.Excel.WorksheetFunction' のインスタンスを作成できません

何か案は?

4

2 に答える 2

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;
于 2010-10-18T00:50:53.707 に答える
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);

}
于 2010-10-18T00:55:32.453 に答える