CS0116命名空间不能直接包含字段或方法C#Microsoft等成员.办公室Interop.Excel



使用C#处理Office互操作对象时遇到错误,以下是出现错误的主要部分:

using Excel = Microsoft.Office.Interop.Excel;

static void DisplayInExcel (IEnumerable<Account> accounts)
{
var excelApp = new Excel.Application();
excelApp.Visible = true;
excelApp.Workbooks.Add();
Excel._Worksheet workSheet = (Excel.Worksheet).excelApp.ActiveSheet;
}

您的代码中可能遗漏了类声明。现在你有这样的东西:

namespace MyNamespace
{
static void DisplayInExcel (IEnumerable<Account> accounts)
{
var excelApp = new Excel.Application();
excelApp.Visible = true;
excelApp.Workbooks.Add();
Excel._Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet;
}
}

你需要用一个类来包装你的函数

namespace MyNamespace
{
public class MyClass
{
public static void DisplayInExcel (IEnumerable<Account> accounts)
{
var excelApp = new Excel.Application();
excelApp.Visible = true;
excelApp.Workbooks.Add();
Excel._Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet;
}
}
}

然后像这个一样访问它

MyClass.DisplayInExcel(accounts)

最新更新