Schneller als über Interop lassen sich die Namen der Arbeitsmappen in einer Exceldatei über OleDb auslesen. Benötigt wird die Methode GetOleDbSchemaTable des OleDbConnection-Objekts.
Über die Klasse OleDbSchemaGuid und den entsprechenden Einschränkungen wird angegeben, welche Informationen man haben möchte.
GFU-Schulungen [Anzeige]
ASP.NET Core - Der EinstiegIn nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.
VB.NET AufbauSie verfügen nach der Schulung über fundierte Kenntnisse in der Arbeit mit objektorientierten Modellen in VB.NET und können wiederverwendbare Komponenten eigenständig erzeugen.
private string[] GetWorksheetNames(string excelFile)
{
OleDbConnection con = new OleDbConnection();
con.ConnectionString = "Data Source=" + excelFile +
";Provider=Microsoft.Jet.OLEDB.4.0" +
";Extended Properties=Excel 8.0";
con.Open();
DataTable tab = con.GetOleDbSchemaTable(
OleDbSchemaGuid.Tables,
new object[] {null, null, null, "TABLE"});
con.Close();
string[] tableNames = new string[tab.Rows.Count];
for (int i = 0; i < tab.Rows.Count; i++)
{
tableNames[i] = tab.Rows[i]["Table_Name"].ToString();
}
return tableNames;
}
Kommentare zum Snippet