Exceltabellennamen über OleDB in c# herrausfinden?



  • Hallöchen.

    Ich hab da ein kleines Problem..

    Und zwar möchte ich in C# über OLE DB eine Exceltabelle auslesen.

    Prinzipiel kein Problem.
    Ich kann die Verbindung aufbauen
    Dann kann ich via SQL Statements die Tabelle auslesen.

    Hier ein kleines Stück Code.

    strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
        "Extended Properties=Excel 8.0;" +
        "Data Source=" + strFilePath + ";";
    OleDbConnection  cnCSV =new OleDbConnection (strConnectionString); 
    cnCSV.Open();
    OleDbCommand  cmdSelect = new OleDbCommand (@"SELECT * FROM [" + strTabelle + "$]", cnCSV);
    OleDbDataAdapter daCSV = new OleDbDataAdapter();
    daCSV.SelectCommand  = cmdSelect;
    DataTable dtCSV = new DataTable ();
    daCSV.Fill(dtCSV);
    

    Alles kein Problem, solange ich den Tabellennamen in der Exceldatei kenne.
    Das Progrämmchen soll aber mal nich davon ausgehen, das die Leute alle wissen, wie sie ihre Tabellennamen ändern, bzw diesen herrausfinden (reine vorsicht, hab da genug Leute erlebt, die das einfach nicht wussten).

    Nun bin ich absolut Ratlos, wie ich herrausfinden kann, wieviele/welche Tabellen es in der Excel datei nun gibt.
    habe schon alle Möglichen Teile aus dem System.Data.OleDB Namensraum durchforstet (sogar alles mal erstellt, gefüllt und im Debugger durchgewühlt -_-) und keine Möglichkeit gefunden.
    Über google war ich auch nicht besonders erfolgreich... Zwar jedemenge sachen Gefunden, aber nix, was sich auch nur Ansatzweise damit beschäftigt, wie ich das gern hätte.

    Vielleicht hat da jemand einen kleinen Denkanstoss, nachdem ich weitersuchen könnte, oder vielleicht weiss ja sogar jemand einen konkreten Lösungsweg.. ?

    Würde mich wirklich freuen, wenn mir da jemand helfen kann.

    (Vielleicht hab ich ja auch nur das absolut offentsichtliche Übersehen 🙄 )

    Vielen lieben Dank schonmal fürs lesen und vielleicht Nachdenken ;))



  • Und eh. eigentlich falsches Forum... Das hat man nu davon, wenn man über das DB Forum (FAQ^^") nach nützlichen links schaut.
    Verschieben nach "C# & .NET" wäre wohl ganz nett 🙂


Anmelden zum Antworten