Importieren aller Excel-Tabellen in DataSet in C #
Ich habe im Internet danach gesucht und konnte eine solche Frage nicht wirklich finden. Jeder suchte nach einer Möglichkeit, ein einzelnes Blatt in die Excel-Datei zu importieren, aber ich möchte, dass alle Blätter in die Datei importiert werdenDataTable
ist inDataSet
ohne die Blattnamen zu kennen.
Ich habe bisher nicht viel mit Excel gemacht. Dies ist ein Beispiel und teilweise funktionierender Code, den ich im Internet gefunden habe und der nur den angegebenen Blattnamen analysiert:
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;
}
Wie Sie sehen, sollte im obigen Code workSheetName übergeben werden, damit die Abfrage weiß, wo sie zu importieren ist. In meinem Fall möchte ich, dass es alle Blätter durchläuft, egal wie sie benannt sind, und sie in einzelne importiertDataTable
ist von aDataSet
.
Das Letzte wird also im Wesentlichen sein: aDataSet
in denen jeweilsDataTable
Enthält Zeilen für jedes Blatt in der importierten Datei.