Jak zaimportować wszystkie arkusze Excel do DataSet w C #

Szukałem w tym Internecie i nie mogłem znaleźć takiego pytania. Wszyscy szukali sposobu zaimportowania pojedynczego arkusza do pliku Excela, ale chcę zaimportować wszystkie arkusze w pliku doDataTablejest w środkuDataSet bez znajomości nazw arkuszy.

W Excelu niewiele robiłem wcześniej. Ten przykładowy i częściowo działający kod, który znalazłem w Internecie, analizuje tylko podaną nazwę arkusza:

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

W powyższym kodzie, jak widzisz, nazwa_katalogu roboczego powinna zostać przekazana, aby zapytanie mogło wiedzieć, gdzie szukać do zaimportowania. W moim przypadku chcę, aby przemierzał wszystkie arkusze, bez względu na to, jak się nazywają, i importuje je do indywidualnychDataTablejest zDataSet.

W gruncie rzeczy ostatnią rzeczą będzieDataSet w którym każdyDataTable przechowuje wiersze dla każdego arkusza w importowanym pliku.

questionAnswers(4)

yourAnswerToTheQuestion