Feedback

C# - Namen der Woksheets einer Excel-Datei auslesen

Veröffentlicht von am 20.09.2007
(1 Bewertungen)
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 Einstieg

In 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.

C# Komplett

Sie kennen sich in objektorientierter Programmierung aus. Sie schreiben C++ oder Java? Und nun stehen Sie vor der Aufgabe, in C# Anwendungen zu erstellen. Das C# Komplett-Seminar verschafft Ihnen umfassende Programmierkenntnisse in dieser Sprache. Nach der Schulung entwickeln Sie selbständig Anwendungen mit C#. Sie kennen die Datentypen und Klassenbibliotheken der objektorientierten Programmiersprache C#. Der Komplettkurs setzt bei den Grundlagen von C# ein. Sie arbeiten mit Variablen und konvertieren Typen. Multithreading, Delegates, Generics sind nach dem Seminar für Sie kein Geheimnis mehr.

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;
}
Abgelegt unter Excel, OleDb.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!