Daten von Excel zu Datagridview importieren

Hallo zusammen,

Ich habe für meine Arbeit ein kleines Programm gebaut, wo ich über Textboxen informationen zu Excel speichere. Ich benutze dafür Excel, da wir kein Access haben.

Das Programm wird benötigt um die nächste Zeichnungs Nummer zu generieren, wo ich von Excel aus in Spalte A bis Spalte M Informationen eingetragen werden. Spalte N gibt mit dann die nächst höhere Nummer in einer Msgbox aus. Dies klappt alles.

1. Ich würde gerne mein Programm ein wenig verbessern, da ich in das Excel Spreadsheet in Spalte N, schon alle Nummer bis zu 1000 nummeriert habe. Ich möchte aber, dass mein programm praktisch automatisch um 1 erhöht, ohne dass ich schon vorher in Excel dies gemacht zu haben

2. Wenn ich dann mal in der Zukunft nach einer Nummer suche, möchte ich nicht, dass Excel spreadsheet öffnen sondern würde gerne die ganzen Daten in ein Datagridview exportieren. Ich weiss nicht wie ich das mache.

Hier mein Code für wie ich die Daten von VB zu Excel speichere.

Code:
  Dim oexcel As Object = CreateObject("Excel.application")
                Dim obook As Object = oexcel.workbooks.open("\\192.168.0.7\share1\1.Admin\Registers\3D-Drawing Registry.xls")
        Dim osheet As Object = obook.worksheets(1)
        obook.workbooks(1).unprotect()
        Dim n As Integer = 1
        Dim cell As String
        Dim testdata As String
        obook.worksheets(1).unprotect()
        'oexcel.visible = True
        While True
            cell = "A" + Trim(Str(n))
            If osheet.range(cell).value = "" Then Exit While
            n += 1
        End While
        cell = "A" + Trim(Str(n))
        osheet.range(cell).value = "(" + Label1.Text + ")"

        cell = "B" + Trim(Str(n))
        osheet.range(cell).value = TextBox1.Text
        
        cell = "C" + Trim(Str(n))
        osheet.range(cell).value = TextBox2.Text

        cell = "D" + Trim(Str(n))
        osheet.range(cell).value = TextBox3.Text


        ProgressBar1.Value = 40
        cell = "E" + Trim(Str(n))
        osheet.range(cell).value = TextBox4.Text

        cell = "F" + Trim(Str(n))
        osheet.range(cell).value = ComboBox1.Text

        cell = "G" + Trim(Str(n))
        osheet.range(cell).value = TextBox5.Text
      
        cell = "H" + Trim(Str(n))
        osheet.range(cell).value = ComboBox2.Text

        cell = "I" + Trim(Str(n))
        osheet.range(cell).value = TextBox6.Text
       
        cell = "J" + Trim(Str(n))
        osheet.range(cell).value = TextBox7.Text
      
        cell = "Q" + Trim(Str(n))
        osheet.range(cell).value = TextBox8.Text

        cell = "P" + Trim(Str(n))
        osheet.range(cell).value = ComboBox4.Text

        cell = "L" + Trim(Str(n))
        testdata = osheet.range(cell).value.ToString
        Label13.Text = testdata

        cell = "M" + Trim(Str(n))
        testdata = osheet.range(cell).value.ToString
        Label14.Text = testdata

        cell = "O" + Trim(Str(n))
        osheet.range(cell).value = Label19.Text
        ProgressBar1.Value = 80
        cell = "N" + Trim(Str(n))
        testdata = osheet.range(cell).value.ToString
        Label15.Text = testdata

        'oexcel.Run("makro3")

        obook.worksheets(1).protect()
        ProgressBar1.Value = 100
        
        obook.save()
        obook.close()
        oexcel.close()
        Me.Visible = False
        ProgressBar1.Visible = False
        MsgBox("       " & Label13.Text & Label14.Text & Label15.Text & "-" & Label19.Text & "  Rev " & ComboBox4.Text, MsgBoxStyle.OkOnly, "Obtained Drawing No.    ")
        Me.Close()
 
Du kannst Excel-Dateien via ODBC aufrufen. Dadurch hast du die Möglichkeit, die Datenbankklassen unter dem Namespace System.Data.Odbc zu nutzen.
 
Zuletzt bearbeitet:
Zurück