Excel Datei in Visual Basic importieren

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von mrMo.

    Excel Datei in Visual Basic importieren

    Liebe Forumler,
    Ich möchte eine Excel Datei in Visual Basic importieren. Ich habe mal gegoogelt und paar Sachen gefunden und dadurch dieses Programm hier. Habe bei mir kompiliert und es kommt diese Fehlermeldung:
    Fehler 1:" Die Handles-Klausel erfordert eine WithEvents-Variable, die im enthaltenden Typ oder einem seiner Basistypen definiert wird. "
    Fehler 2: "DataGridView1" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden."

    hier ist der Code

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Load_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Load.Click
    3. Dim OpenFileDialog1 As New OpenFileDialog
    4. OpenFileDialog1.Title = "Import"
    5. OpenFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
    6. OpenFileDialog1.Filter = "Excel (*.xls)|*.xls"
    7. If OpenFileDialog1.ShowDialog = DialogResult.OK Then
    8. Dim strConnection As System.Data.OleDb.OleDbConnection = Nothing
    9. Try
    10. Dim objDataSet As DataSet
    11. Dim objAdapter As OleDb.OleDbDataAdapter
    12. strConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='" & OpenFileDialog1.FileName & " '; " & "Extended Properties=Excel 8.0;")
    13. objAdapter = New OleDb.OleDbDataAdapter("select * from [Tabelle1$]", strConnection)
    14. objDataSet = New DataSet
    15. objAdapter.Fill(objDataSet)
    16. DataGridView1.DataSource = objDataSet.Tables(0).DefaultView
    17. strConnection.Close()
    18. Catch ex As Exception
    19. MessageBox.Show(ex.Message)
    20. strConnection.Close()
    21. End Try
    22. End If
    23. End Sub
    24. End Class
    Fehler 1: An welcher Stelle tritt der auf?
    Fehler2: Hast du den überhaupt ein DataGridView mit dem Namen DataGridView1 auf deiner Form1?

    Edit:
    Mach mal das DataSet weg und dann das.
    Dim dt as New DataTable
    objAdapter.Fill(dt)
    DataGridView1.DataSource = dt
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

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

    Kaum, wäre es ein FormLoad Ereignis würde es auch so heißen, und wenn es ein "Load" Ereignis wäre würde es auch nur "Laod" handlen und nicht "Click".
    Du solltest Deine Form-Elemente und Controlls schon selbst kennen.

    Ich vermute Du hast alles was da oben steht einfach irgendwo herkopiert und genauso in Deinen nicht vorhandenen Code eingefügt. Meine Vermutung ist, dass der Schreiber des orginal Codes einfach mal voraussetzte, dass es einen Button Namens "Load" gibt, denn Du gar nicht aufs Form gezogen hast. Ebenso wie Dir ja auch das DGV "DataGridView1" fehlt....

    P.S.: Es reicht nicht aus einfach nur einen Button aufs Form zu ziehen und den "Load" zu nennen. Du musst ihn allerdings nur doppel klicken und schon macht Dir der Designer das Click-Ereignis und da kannst du denn obigen Code zwischen "Private Sub ..." und "End Sub" einfügen.

    lieuthnant schrieb:

    DataGridView1" wurde nicht deklariert.


    lieuthnant schrieb:

    Load ist doch für das Formular oder sehe ich das falsch ?


    Och... Das mir das nicht früher aufgefallen ist. Der TE hat den Code zusammen kopiert und braucht nun einen der ihm den zum Laufen bringt. Neeeee, da ist mir meine Zeit zu schade für. Helf ich lieber anderen hier die was lernen wollen
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen