Cómo importar todas las hojas de Excel a DataSet en C #

He buscado en internet para esto y realmente no pude encontrar una pregunta como esta. Todos buscaban una forma de importar una hoja individual en el archivo de Excel, pero lo que quiero es importar todas las hojas del archivo aDataTable'pecadoDataSet Sin saber los nombres de las hojas.

No he hecho muchas cosas con Excel antes. Este es un código de muestra y parcialmente funcional que he encontrado en Internet y solo analiza el nombre de la hoja:

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

En el código anterior, como ve, workSheetName se debe pasar para que la consulta pueda saber dónde mirar para importar. En mi caso, quiero que atraviese todas las hojas sin importar cómo se llamen y las importe a individuos.DataTablede unDataSet.

Así que, en esencia, lo último será unDataSet en el cual cadaDataTable contiene filas para cada hoja en el archivo importado.