Rubrik: Datenbanken · ADO.NET Allgemein | VB-Versionen: VB.NET | 17.01.07 |
Excel-Tabelle im DataGrid anzeigen (ADO.NET) Dieser Tipp zeigt, wie man eine Excel-Tabelle mit wenig Aufwand im VB.NET DataGrid-Control anzeigen kann. | ||
Autor: Dieter Otter | Bewertung: | Views: 24.570 |
www.tools4vb.de | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Vor langer Zeit haben wir Ihnen gezeigt, wie sich unter VB-Classic (VB5, VB6) eine Excel-Tabelle in einem DataGrid anzeigen lässt. Der nachfolgende Tipp zeigt diesmal, wie man das Ganze unter VB.NET in Verbindung mit ADO.NET realisiert.
Der "Datenbank-Zugriff" erfolgt hierbei über eine OleDbConnection und ein OleDbAdapter.
Platzieren Sie auf die Form ein DataGrid-Control und einen Button. Fügen Sie nachfolgenden Code in das Click-Event des Button ein und passen den Pfad zur Excel-Datei, sowie den Tabellennamen entsprechend an.
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Excel-Tabelle anzeigen Dim oDs As System.Data.DataSet Dim oConn As System.Data.OleDb.OleDbConnection Dim oAdapter As System.Data.OleDb.OleDbDataAdapter ' Pfad und Tabellennamen bitte anpassen! Dim sFile As String = "d:\excelfile.xls" Dim sTable As String = "Tabelle1" ' Connection-String für die DB.Verbindung zur Excel-Datei Dim sConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & sFile & ";" & _ "Extended Properties=Excel 8.0;" ' Connection herstellen oConn = New System.Data.OleDb.OleDbConnection(sConn) ' Excel-Tabelle referenzieren ' Hinweis: Tabellenname muss mit abschließendem $-Zeichen und ' in eckigen Klammern stehen oAdapter = New System.Data.OleDb.OleDbDataAdapter( _ "SELECT * FROM [" & sTable & "$]", oConn) ' DataSet erstellen und mit Daten aus dem DataAdapter füllen oDs = New System.Data.DataSet Try oAdapter.Fill(oDs) ' DataGrid füllen und Daten anzeigen With DataGrid1 .DataSource = oDs.Tables(0) .ReadOnly = True .Refresh() End With Catch ex As Exception MsgBox("Fehler beim Anzeigen der Excel-Daten!") Finally ' DB-Verbindung schließen oConn.Close() End Try End Sub