'DataGrIDVIEw 列枚举型定义
Private Enum DGV_ENUM
Col_ROW
Col_name
Col_AGE
End Enum
'Excel 列枚举型定义
Private Enum XLS_Col_ENUM
Col_ROW
Col_name
Col_AGE
End Enum
Private Sub BTN_LOAD_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BTN_LOAD.Click
Dim xlAppExcelfile As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim intColNum As Integer
Dim intRowNum As Integer
Dim blnAddRow As Boolean
'生成新的instance
xlAppExcelfile = New Excel.Application
'在已有的Excel,指定文件路径,打开Book
xlBook = xlAppExcelfile.Workbooks.Open("文件路径")
'不表示Excel
xlAppExcelfile.Visible = False
'禁止显示对话框和警告消息
xlAppExcelfile.displayAlerts = False
'取消任务栏中的窗口选项
xlAppExcelfile.ShowwindowsInTaskbar = False
xlSheet = xlBook.Sheets(1)
intRowNum = xlSheet.UsedRange.Rows.Count
intColNum = xlSheet.UsedRange.Columns.Count
For intXlsI As Integer = 1 To intRowNum
'Excel中名字空的话、… … 很出。
If Trim$(xlSheet.Cells(intXlsI,XLS_Col_ENUM.Col_name).Value).Equals(String.Empty) Then
… …
Exit For'退出整个循环(intXlsI)。
'Continue For 退出当前循环。
End If
'将Excel读取放到DataGrIDVIEw
''RemoveHandler DGV.InvalIDated,AddressOf DGV_InvalIDated
Me.DGV.AllowUserToAddRows = False
Me.DGV.AllowUserToDeleteRows = False
Dim intRowCnt As Integer = Me.DGV_EDIT.Rows.Add()
DGV.Value(DGV_ENUM.Col_ROW,intRowCnt) = Trim$(xlSheet.Cells(intXlsI,XLS_Col_ENUM.Col_ROW).Value)
'如果DataGrIDVIEw中有Combo Box控件,不能将Combo Box的Code值直接赋值,是整个值。
'例: A:小王 B:小张 不能将Code A或B,赋到GrID中的Combo Box。用[A:小王]-> OK
CMB_HIDE_name_List.SetSelectCondition("Combo Box的Code值")
DGV.Value(DGV_ENUM.Col_name,intRowCnt) = CMB_HIDE_name_List.SelectedItem
DGV.Value(DGV_ENUM.Col_AGE,XLS_Col_ENUM.Col_AGE).Value)
Me.DGV.AllowUserToAddRows = True
Me.DGV.AllowUserToDeleteRows = True
''AddHandler DGV.InvalIDated,AddressOf DGV_InvalIDated
Next intXlsI
'Excel 终了(关闭会有一定的延时)
xlSheet = nothing
xlbook.Close()
xlBook = nothing
xlAppExcelfile.Quit()
xlAppExcelfile = nothing
'System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
'System.Runtime.InteropServices.Marshal.ReleaseComObject(xlAppExcelfile)
End Sub
'@******************************************************************************
'@ 名 称: DGV_EDIT_KeyDown
'@ 内 容: 用DEL键,删除GrIDVIEw当前行
'@ 备 考:
'@******************************************************************************
'Me.DGV_EDIT.AllowUserToAddRows = True(自动添加行)
If DGV_EDIT.CurrentRow.Index <> DGV_EDIT.Rows.Count - 1 Then
If e.KeyCode = Keys.Delete Then
DGV_EDIT.Rows.RemoveAt(DGV_EDIT.CurrentRow.Index)
DGV_EDIT.Refresh()
End If
End If
End Sub 总结
以上是内存溢出为你收集整理的VB.NET 打开Excel文件,读取Excel内容,添加到DataGridView中并显示全部内容,希望文章能够帮你解决VB.NET 打开Excel文件,读取Excel内容,添加到DataGridView中并显示所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)