VB.net小技巧——使用DataGridView显示EXECL表格内容
直接上代码
Private Sub Button24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button24.Click
Dim fileDialog As OpenFileDialog = New OpenFileDialog()
fileDialog.InitialDirectory = My.Computer.FileSystem.CurrentDirectory
fileDialog.Filter = "Excel files(*.xls)|*.xls|Excel files(*.xlsx)|*.xlsx"
fileDialog.FilterIndex = 1
fileDialog.RestoreDirectory = True
If fileDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
Dim fileName As String
Dim strConn As String
fileName = fileDialog.FileName
'建立EXCEL连接, 读入数据
If fileDialog.FilterIndex = 1 Then
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & fileName & "';Extended Properties=Excel 8.0;"
Else
strConn = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source='" & fileName & "';Extended Properties=Excel 8.0;"
End If
Dim myDataset As New DataSet
Dim da As New OleDb.OleDbDataAdapter("select * FROM [Sheet1$]", strConn)
Dim bindin As BindingSource = New BindingSource
Try
DataGridView1.Columns.Clear()
da.Fill(myDataset)
bindin.DataSource = myDataset.Tables(0)
DataGridView1.DataSource = bindin.DataSource
Catch ex As Exception
MessageBox.Show("EXECL文件载入失败")
End Try
End If
End Sub
其中
例如有一个这样的execl文档
载入后:
行和列都是从0数字开始。
DataGridView1.Rows(0).Cells(0).Value = 0000008
DataGridView1.Rows(0).Cells(3).Value 是空白,可以写入数值进去
以上的例子是可以对接收到的协议数据进行地址辨别后,自动将相应的值填入表格中,不需要每次人为触发查询,且自动将原始数据进行公式换算后显示,非常的方便。