2011-11-09 28 views
16

被强制从NPOI到microsoft interop,我必须执行一个任务,在工作簿中查找某个工作表,然后遍历它的每一行。如何在.NET中按名称获取工作表?

在NPOI它将只是workbook.GetSheet(sheetName);。在微软的互操作性系统中,这相当于什么?

回答

21

使用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(); 
    } 
} 
+3

你确定吗?我很肯定你可以做'workbook.Sheets [“Sheet2”]'。 –

+0

@JeffYates,Dope! +1您的权利...不需要执行扩展方法。更新我的帖子以纠正此问题。 – Matt

+0

很高兴我能帮到你。 :) –