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