Ich habe ein Problem. Ich muss den Namen des Excel-Arbeitsblatts in einem Arbeitsbuch ablegen, das auf der ganz linken Seite der Arbeitsmappe angezeigt wird - der erste aus meiner Sicht.Erlangung des ersten Excel-Blatt-Name mit OleDbConnection
ich diesen Code verwende:
public static string GetFirstExcelSheetName(OleDbConnection connToExcel)
{
DataTable dtSheetName =
connToExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
List<String> lstExcelSheet = new List<string>(dtSheetName.Rows.Count);
foreach (DataRow row in dtSheetName.Rows)
lstExcelSheet.Add(row["TABLE_NAME"].ToString());
return lstExcelSheet[0];
}
Das Problem hier ist es die Zeilen nicht in der visuellen Tab-Reihenfolge zurückkehrt, aber in einer ganz anderen Reihenfolge - höchstwahrscheinlich die Reihe Erstellungsdatum.
Wie kann es möglich sein, die Tabellenname Tabelle entsprechend ihrer Tab-Reihenfolge sortiert zu bekommen, so dass ich leicht den ersten Excel-Blatt-Namen bekommen kann?
Danke, kalem keki
I diese Leitung verwenden, um die Tabellen-Daten-Tabelle zu erhalten: Table dtSheetName = connToExcel.GetOleDbSchemaTable (OleDbSchemaGuid.Tables, null); – pencilCake
check out http://support.microsoft.com/kb/309488 Ich denke, dass Sie Ihren zweiten Parameter von null auf den Namen des Arbeitsblatts oder Null ändern können, um die Tabellen zu begrenzen, die an Ihr Ziel zurückgegeben werden – Beth