2011-11-09 21 views
16

Al ser forzado desde NPOI a la interoperabilidad de Microsoft, tengo que realizar una tarea de encontrar una determinada hoja de trabajo en el libro de trabajo, y luego recorrer cada fila de la misma.¿Cómo obtener una hoja de trabajo por nombre en .NET?

En NPOI sería simplemente workbook.GetSheet(sheetName);. ¿Cuál sería el equivalente para esto en Microsoft Interop?

Respuesta

21

Uso workbook.Sheets[sheetName];

completo ejemplo de trabajo:

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

¿Seguro? Estoy bastante seguro de que puedes hacer 'workbook.Sheets [" Sheet2 "]'. –

+0

@JeffYates, Dope! +1 Su derecho ... no es necesario hacer un método de extensión. Actualicé mi publicación para corregir esto. – Matt

+0

Me alegro de poder ayudar. :) –

Cuestiones relacionadas