Announcement

Collapse
No announcement yet.

Select auf Excel-Tabelle

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Select auf Excel-Tabelle

    Hallo!

    Ich kann aus einer Excel-Datei ein Dataset mit allen Tabellen erstellen. (mit OleDB)

    Gibt es aber eine Möglichkeit Where-statements zu benutzen.
    z.B.: Select *from [Tabelle1$] where "Spaltenname" = "Wert"


    Andere Idee: Kann man irgendwie mit dem Dataset arbeiten und bestimmte einträge filtern?
    z.B. filtere die zeilen raus in dessen 1. Spalte dies und das steht?

    Für Anregungen und Ideen wäre ich dankbar. :-) Oder wenn jemand schon eine Lösung hat: dann her damit! :-D

    Vielen Dank im Voraus

  • #2
    Hallo,

    es gibt verschiedene Möglichkeiten, um den Inhalt einer XLS-Datei in eine DataSet-Instanz zu laden. Der folgende Weg kommt ohne eine einzige von Hand geschriebene Programmzeile aus:
    1. In der XLS-Datei wird der Datenbereich über das Menü Einfügen | Namen | Definieren... mit einem eindeutigen Namen versehen
    2. Wird im Visual Studio 2005-Projekt der TableAdapter-Wizard aufgerufen, kann dort über den .NET Framework Data Provider for ODBC die Verbindungszeichenfolge über den Build-Button konfiguriert werden, ohne das vorher ein ODBC-DSN auf diesem Rechner permanent konfiguriert werden muss
    3. Die XLS-Datei wird im Dialog ODBC Microsoft Excel Setup über den Button Arbeitsmappe auswählen... definiert.
    4. Der Query Builder vom TableAdapter-Wizard listet automatisch die Datenbereiche der XLS-Datei aus, so dass dort die SELECT-Abfrage visuell zusammengestellt werden kann.
    5. Ab dann ist der Inhalt der XLS-Datei im Data Sources-Fenster von Visual Studio 2005 für die Datenbindung nutzbar


    Die angehängten Abbildungen zeigen die wesentlichen Stellen. Sobald die Datensätze im DataSet enthalten sind, stehen die Methode der BindingSource-Komponente bzw. der DataTable-/DataSet-Klasse zur Verfügung, um auf einzelne Feldwerte zuzugreifen:
    • DataTable: Methoden Find und Select
    • DataView: Methoden Find, FindRows und Eigenschaft RowFilter
    • BindingSource: Methode Find und Eigenschaft Filter


    Beispiel: Die folgende Filterzeichenkette filtert nur die Datensätze, deren Eintrag in der Spalte Spaltenname mit dem Buchstaben B beginnt (Joker-Suche):

    dataTable1BindingSource.Filter = "Spaltenname LIKE B%";

    Eine exakte Suche sieht dann so aus:

    dataTable1BindingSource.Filter = "Spaltenname = 'Berlin'";
    Attached Files
    Zuletzt editiert von Andreas Kosch; 18.05.2007, 12:38.

    Comment


    • #3
      Originally posted by tipsybroom View Post
      Gibt es aber eine Möglichkeit Where-statements zu benutzen.
      z.B.: Select *from [Tabelle1$] where "Spaltenname" = "Wert"
      Das würde mich auch sehr interessieren!

      Comment

      Working...
      X