Populate DataGridView From Excel Where First Name of Employee starts with 'C'
Need to include the reference Microsoft DAO 3.6
[CODE]
Imports System.Data
Imports System.Data.OleDb
Private Sub btnPopulateGrid_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPopulateGrid.Click
Const stFile As String = "E:\EmployeeExcels\Employee.xls"
Const stCon As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & stFile & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES"";"
Dim dao_dbE As dao.DBEngine
Dim dao_DB As dao.Database
Dim strFirstSheetName As String
Try
'To get the Excel Sheet's Name
dao_dbE = New dao.DBEngine
dao_DB = dao_dbE.OpenDatabase("E:\EmployeeExcels\Employee.xls", False, True, "Excel 8.0;")
strFirstSheetName = dao_DB.TableDefs(1).Name
'The range is named Source and it also contains the fieldnames.
'The fieldnames are automatically added to the Datagrid columnnames.
Dim stSQL As String = "SELECT * FROM [" & strFirstSheetName & "] WHERE [First Name] LIKE 'C%'"
Dim cn As New OleDbConnection(stCon)
cn.Open()
Dim da As New OleDbDataAdapter(stSQL, cn)
'The Datasets name is viewed on top of the Datagrid.
Dim dt As New DataTable
'Populate the Datatable
da.Fill(dt)
'Populate the DataGridView
With Me.dbGridView
.DataSource = dt
.Refresh()
End With
da.Dispose()
' Adjust the column widths based on the displayed values.
Me.dbGridView.AutoResizeColumns( _
DataGridViewAutoSizeColumnsMode.DisplayedCells)
Catch ex As Exception
MsgBox(ex.ToString)
Finally
'Release objects from memory.
If Not dt Is Nothing Then
dt = Nothing
End If
If Not cn is Nothing Then
If cn.State = ConnectionState.Open Then
cn.Close()
End If
cn = Nothing
End If
End Try
End Sub
[/CODE]
No comments:
Post a Comment