如何在.NET中按名称获取工作表?

Arn*_*hor 17 .net excel

被迫从NPOI到microsoft interop,我必须执行在工作簿中查找某个工作表的任务,然后遍历它的每一行.

在NPOI中,它将是简单的workbook.GetSheet(sheetName);.在microsoft interop中,这相当于什么?

Mat*_*att 25

使用 workbook.Sheets[sheetName];

完整的工作示例:

using Microsoft.Office.Interop.Excel;

class Program
{
    static void Main(string[] args)
    {
        var excelApplication = new Application();
        excelApplication.Visible = true;
        excelApplication.SheetsInNewWorkbook = 3;
        var workbook = excelApplication.Workbooks.Add();
        var worksheet = workbook.Sheets["Sheet2"];         //<--- desired method
        worksheet.Activate();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 你确定吗?我很确定你可以做`workbook.Sheets ["Sheet2"]`. (4认同)
  • 我正在使用<package id ="Microsoft.Office.Interop.Excel"version ="15.0.4795.1000"targetFramework ="net45"/>而我无法使用上述方法.它给了我无效的索引错误. (2认同)