Lesen mehrerer Excel-Arbeitsblätter mit unterschiedlichen Arbeitsblattnamen

Ich möchte wissen, wie ich mehrere Excel-Arbeitsblätter mit unterschiedlichen Arbeitsblattnamen in c # und mit dem verwendeten von oledb lesen kann.

Ich habe die folgende Möglichkeit, mehrere Blätter zu lesen (jedoch mit festem Arbeitsblattnamen):

DataSet ds = new DataSet();
var excelConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0", path); 
OleDbConnection connection = new OleDbConnection();
connection.ConnectionString = excelConnectionString;

var i = 1;
while (i <= 4)
{
    string query = "SELECT * FROM [Sheet" + i + "$]";
    ds.Clear();
    OleDbDataAdapter data = new OleDbDataAdapter(query, connection);
    data.Fill(ds);

    // other stuff
    i = i + 1;
}

Dieser funktioniert. Aber ich bin jetzt in einer anderen Situation, in der die Namen der Arbeitsblätter nicht festgelegt sind. Beispiel: Sheet1 ist Dog, Sheet2 ist Cat. Sheet3 ist Bird.

Jetzt geht es mir darum, wie ich diese Arbeitsblattnamen unter Verwendung meines vorhandenen Codes durchlaufen kann.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage