Datagridview

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Datagridview

    Hallo zusammen,

    ich möchte Daten einer Exceldatei in Datagridview anzeigen lassen.

    Spoiler anzeigen

    VB.NET-Quellcode

    1. ' Excel-Tabelle anzeigen
    2. Dim oDs As System.Data.DataSet
    3. Dim oConn As System.Data.OleDb.OleDbConnection
    4. Dim oAdapter As System.Data.OleDb.OleDbDataAdapter
    5. ' Pfad und Tabellennamen bitte anpassen!
    6. Dim sFile As String = "C:\test.xls"
    7. Dim sTable As String = "Tabelle1"
    8. ' Connection-String für die DB.Verbindung zur Excel-Datei
    9. Dim sConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & sFile & ";" & "Extended Properties=Excel 8.0;"
    10. ' Connection herstellen
    11. oConn = New System.Data.OleDb.OleDbConnection(sConn)
    12. ' Excel-Tabelle referenzieren
    13. ' Hinweis: Tabellenname muss mit abschließendem $-Zeichen und
    14. ' in eckigen Klammern stehen
    15. oAdapter = New System.Data.OleDb.OleDbDataAdapter( _
    16. "SELECT * FROM [" & sTable & "$]", oConn)
    17. ' DataSet erstellen und mit Daten aus dem DataAdapter füllen
    18. oDs = New System.Data.DataSet
    19. oAdapter.Fill(oDs)
    20. ' DataGrid füllen und Daten anzeigen
    21. With DataGridView1
    22. .DataSource = oDs.Tables(0)
    23. .ReadOnly = True
    24. .Refresh()
    25. End With
    26. ' DB-Verbindung schließen
    27. oConn.Close()
    28. End Sub


    Soweit funktioniert das auch.

    Habe aber dazu zwei Fragen.

    1. Ich bekomme keine Connection-String für Exceldateien xlsx hin - auch nicht mir Hilfe von connectionstrings.com/excel#ace-oledb-12-0
    2. Kann man bestimmte Spalten in der Datagridview ausschließen? (sollen nicht mit angezeigt werden)

    Danke im Voraus für Eure Hilfe.

    Beste Grüße

    sterat
    DGV-SmartTag "Spalten bearbeiten"


    Versteh ich nicht. In meinem Beispiel gibt es keine Auswahl bei "Spalten bearbeiten" - da sie ja aus einer Excel-Datei stammen. Meine Frage bezog sich auf meinen Code.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „sterat“ ()

    Tja, haste Pech.
    Besser wärs, du könntest an ein typisiertes Dataset binden, denn so untypisierte DataTables unterstützen keine DGV-Gestaltung im Designer.

    Lösung: mach dir ein typisiertes Dataset mit einer DataTable und paar Spalten und häng ein DGV da dran. Dann guck in' DesignerCode, wies gemacht ist.

    Alternative Lösung: Wenn du schon ein typisiertes Dataset hast, dann kannste es eiglich auch aus der untypisierten Tabelle befüllen, und dann gleich benutzen. Und etwa im Designer Spalten ausblenden und so Zeugs.