Abrufen aller Arbeitsblattnamen im Nur-Text-Format aus Excel mit C # Interop?

Ich verwende VS2010 + Office Interop 2007, um zu versuchen, einige bestimmte Tabellennamen aus einer Excel-Tabelle mit 5-6 Seiten abzurufen. Von dort aus speichere ich nur die wenigen Tabellen, die ich benötige, in einer tabulatorgetrennten Textdatei für die weitere Verarbeitung. Für die drei Tabellenkalkulationsnamen, die ich erhalte, verfügt jede über eine eigene tabulatorgetrennte Textdatei.

Ich kann eine Datei durch Interop als durch Tabulatorzeichen getrennte Datei speichern, aber das setzt voraus, dass ich weiß, wie der angegebene Seitenname lautet. Ich wurde informiert, dass jeder Seitenname nicht einer strengen Namenskonvention folgt, aber ich kann mehrere Namen wie "RCP", "rcp", "Empfänger" usw. berücksichtigen, wenn ich nach einem gewünschten Namen suche.

Meine Frage ist, kann ich alle Namen von Tabellenkalkulationsseiten in einer Art Index abrufen, damit ich sie durchlaufen und versuchen kann, die drei Namen zu finden, die ich benötige? Das wäre so viel schöner, als zu versuchen, "RCP" -, "rcp" - und "Recipient" -Seiten über eine Milliarde Versuche / Fänge zu erfassen.

Ich bin in der Nähe, weil ich die Anzahl der Seiten in einer Excel-Tabelle über Folgendes abrufen kann:

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

Vielen Dank für Ihre Zeit.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage