Feedback

C# - Namen der Woksheets einer Excel-Datei auslesen

Veröffentlicht von am 9/20/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!