Como importar todas as planilhas do Excel para DataSet em c #

Eu procurei na internet por isso e não consegui encontrar uma pergunta como essa. Todo mundo estava procurando uma maneira de importar uma folha individual no arquivo excel, mas o que eu quero é importar todas as folhas no arquivo paraDataTable'pecadoDataSet sem conhecer os nomes das folhas.

Eu não fiz muitas coisas com o Excel antes. Este é um código de exemplo e parcialmente funcional que encontrei na internet e só analisa o nome da planilha:

public static DataSet Parse(string fileName, string workSheetName)
{
    string connectionString = string.Format("provider=Microsoft.Jet.OLEDB.4.0; data source={0};Extended Properties=Excel 8.0;", fileName);
    string query = string.Format("SELECT * FROM [{0}$]", workSheetName);

    DataSet data = new DataSet();
    using (OleDbConnection con = new OleDbConnection(connectionString))
    {
        con.Open();
        OleDbDataAdapter adapter = new OleDbDataAdapter(query, con);
        adapter.Fill(data);
    }

    return data;
}

No código acima, como você vê, workSheetName deve ser passado para que a consulta possa saber para onde olhar para importar. No meu caso, quero que ele percorra todas as folhas, não importa o nome e importe-as paraDataTable'sofáDataSet.

Então, em essência, a última coisa será umDataSet em que cadaDataTable mantém linhas para cada folha no arquivo importado.

questionAnswers(4)

yourAnswerToTheQuestion