Obtenir tous les noms de feuille de calcul en clair à partir d'Excel avec C# Interop?

Je suis en utilisant VS2010 + Bureau Interop 2007 pour tenter d'obtenir un peu de feuille de calcul noms à partir d'une feuille de calcul Excel avec 5 ou 6 pages. Tout ce que je fais à partir de là est de sauver les quelques feuilles de calcul dont j'ai besoin dans un fichier texte délimité onglet pour la poursuite du traitement. Donc, pour les de trois les noms de feuille de calcul que je reçois, chacun aura son propre onglet fichier texte délimité.

Je peux enregistrer un fichier délimité par des tabulations à l'amende juste grâce à l'Interopérabilité, mais c'est en supposant que je sais ce que le nom de la page. J'ai été informé que chaque nom de page ne suivra pas une stricte de la convention d'affectation de noms, mais je peux tenir compte des multiples noms comme "RCP", "pcr", "Destinataire", etc lorsque vous cherchez un nom de votre choix.

Ma question est, puis-je obtenir tous les page de feuille de calcul noms dans une sorte d'indice, donc je peut itérer à travers eux et essayer de trouver les trois noms que j'ai besoin? Ce serait tellement plus agréable que d'essayer de saisir "RCP", "pcr", "Destinataire", pages via un bajillion essayer/captures.

Je suis proche, parce que je peux obtenir le nombre de pages dans une feuille de calcul Excel via le suivant:

Excel.Application excelApp = new Excel.Application();  //Creates a new Excel Application
excelApp.Visible = true;  //Makes Excel visible to the user.           
//The following code opens an existing workbook
string workbookPath = path;
Excel.Workbook excelWorkbook = null;
try
{
    excelWorkbook = excelApp.Workbooks.Open(workbookPath, 0,
    false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true,
    false, 0, true, false, false);
}
catch
{
    //Create a new workbook if the existing workbook failed to open.
    excelWorkbook = excelApp.Workbooks.Add();
}
//The following gets the Worksheets collection
Excel.Sheets excelSheets = excelWorkbook.Worksheets;
Console.WriteLine(excelSheets.Count.ToString()); //dat count

Je vous remercie pour votre temps.

OriginalL'auteur Franklin_Skipdiddle | 2013-09-13