DGV und Excel

  • VB.NET

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

    DGV und Excel

    Hi
    ich fülle ein DataGridView mit dem Inhalt einer Excel Tabelle...

    VB.NET-Quellcode

    1. Dim strConnection As System.Data.OleDb.OleDbConnection = Nothing
    2. Dim myPath As String = Application.StartupPath + "\TeilnehmerDatenbank.xls"
    3. Dim objDataSet As System.Data.DataSet
    4. Dim objAdapter As System.Data.OleDb.OleDbDataAdapter
    5. strConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='" & myPath & " '; " & "Extended Properties=Excel 8.0;")
    6. objAdapter = New System.Data.OleDb.OleDbDataAdapter("select * from [Tabelle1$]", strConnection)
    7. objDataSet = New System.Data.DataSet
    8. objAdapter.Fill(objDataSet)
    9. DataGridView1.DataSource = objDataSet.Tables(0).DefaultView


    ... wenn ich jetzt etwas im DataGridView änder wie kann ich das dann in der Excel Datei speichern?
    Hallo,
    danke aber hilft mir nicht wirklich. Das ist für mich wieder zu viel Code für eine so kleine Aufgabe.
    Geht das auch einfacher ?

    Warum gibt es in der Aktuellen Visual Basic Version eigentlich kein Excel in der Toolbox Oo
    mit VB6 war alles einfacher :(


    EDIT: übrigens wird in dem code den du mir vorgeschlagen hast eine neue excel arbeitsmappe erstellt ich will ja die bestehende aktualisieren.
    Hi
    Eventuell helfen könnte dir das hier:
    dotnet-snippets.de/dns/excel-d…t-exportieren-SID272.aspx

    Ich weiß nicht, inwiefern dir das helfen kann, da ich damit noch nicht viel zu tun hatte, aber eventuell hilft es dir. Die Methoden und Eigenschaften usw. des verwendeten Typs, der mit Type.GetTypeFromProgID("Excel.Application") ermittelt wird kannst Reflection ermitteln:

    VB.NET-Quellcode

    1. Dim tp As Type = Type.GetTypeFromProgID("Excel.Application")
    2. tp.GetProperties()
    3. tp.GetMethods()
    4. tp.GetFields()
    5. '.... eventuell auch noch die BindingFlags BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.Static als Parameter uebergeben


    Du erhältst jeweils ein Array mit der entsprechenden MemberInfo. Diese Memberinfo kannst du dir in einer ListBox ausgeben lassen oder mit MessageBox.Show(member.Name) usw.. Die Namen sollten dir dann hoffentlich sagen, was du tun musst und kannst. GetParameters() von MethodInfo und ConstructorInfo gibt dir noch die Parameter an, die übergeben werden. Dabei ist ParameterType der Typ des Parameters, den du übergeben musst! tp.InvokeMember ruft den betroffenen Member auf. (Bei Reflection bin ich mir dann doch wieder sicherer)

    Gruß
    ~blaze~