Ich arbeite an einer Anwendung, die Excel-Dateien als Datenquelle verwendet. Ich würde gerne die DataGridView
mit den Spalten eines Blattes füllen, wenn ein Arbeitsblatt-Name aus der Dropdown-Liste ausgewählt ist. HierSo wählen Sie eine Excel-Datentabelle mithilfe eines Dropdown-Listenwerts
ist, was ich habe versucht zu tun:
Imports System.Data.OleDb
Public Class Form101
Public cn As New OleDbConnection
Public cm As New OleDbCommand
Public da As OleDbDataAdapter
Dim comb As String
Public dt As New DataTable
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Comb1.SelectedIndexChanged
comb = Comb1.SelectedText
End Sub
Public Sub FillDataGridView(ByVal Query As String)
da = New OleDbDataAdapter(Query, cn)
dt.Clear()
da.Fill(dt)
With DataGridView1
.DataSource = dt
.Columns(0).HeaderText = "Date"
.Columns(1).HeaderText = "Qty brought"
.Columns(2).HeaderText = "Qty sold"
.Columns(3).HeaderText = "Goods balance"
.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
End With
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
cn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\toojah app\Stock card.xls; Extended Properties= Excel 8.0;"
cn.Open()
FillDataGridView("select * FROM ['" & comb & "'] ")
End Sub
End Class
Hinzugefügt ich die HDR = YES erweiterte Eigenschaft und seine immer noch geben Fehler im Zusammenhang –
was ist der Fehler und wo Sie es bekommen? Ich dachte, Sie wollten nur die Excel-Spalten in Ihrer Datagrid-Ansicht anzeigen? – coder32
Ich bekomme immer noch OleDb Exception wurde in der öffentlichen Sub FillDataGridView (ByVal Query As String) unbehandelt. da.Fill (dt) –