Чтение нескольких листов Excel с разными именами

Я хотел бы знать, как я могу читать несколько листов Excel с разными именами листов в C # и с использованием Oledb.

У меня есть этот способ чтения нескольких листов (но с фиксированным именем листа):

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;
}

Этот работает. Но сейчас я нахожусь в другой ситуации, когда имена рабочих листов не фиксированы, например: Sheet1 - это Dog, Sheet2 - это Cat Sheet3 - это Bird.

Теперь меня беспокоит то, как я могу зацикливать имена этих таблиц с использованием моего существующего кода.

Ответы на вопрос(1)

Ваш ответ на вопрос