vb.net 教程 10-2 Excel操作1 Excel文件的打开
版權聲明:本文為博主原創文章,轉載請在顯著位置標明本文出處以及作者網名,未經作者允許不得用于商業目的。
為了便于理解Excel操作,我做了一個示意圖
1、打開Excel,相當于新建了一個Application對象:
Dim xls As New Excel.Application
2、打開工作簿(包含1個或多個工作表)相當于新建Workbook并打開文件:
Dim Wbook As Excel.Workbook = xls.Workbooks.Open(filename)
3、所有工作表的集合,相當于Worksheets:
Dim Wsheets As Excel.Worksheets = Wbook.Worksheets
4、單個的工作表,相當于Worksheet,單個的工作表可以通過兩種方式獲得:
Dim Wsheet As Excel.Worksheet=Wsheets(序號) ,如Worksheets(1)?
或者
Dim Wsheet As Excel.Worksheet=Wsheets(工作表名稱),如Worksheets("Sheet1")
還可以略過Worksheets:
Dim Wsheet As Excel.Worksheet= Wbook.Worksheets(1)?
5、最后,別忘了關閉打開的 Excel:
xls.Quit()
當定義并獲得一個Worksheet后,我們就可以操作里面的數據
使用worksheet.Rows.Count 和 worksheet.Columns.Count 獲得工作表的行數和列數,
這兩個數字對于Excel2003到Excel97版本(*.xls文件)是 65535 和 256
對于Excel2007及以后版本(*.xlsx 文件)是 1048576 和 16384
要想獲得里面的數據,必須對rows和columns進行遍歷,但是,這兩個數字實在是太大了,所以常常使用
worksheet..UsedRange.Columns.Count 和 worksheet..UsedRange.Rows.Count
來獲得有效使用的行數和列數。
通過 worksheet.Cells(行號,列號).Value 即可獲得對應單元格的值
但是需要注意的是,如果那個單元格為空,可能會引發錯誤,可以使用isNothing先做判斷是否有數據。
以下是一個簡單的代碼來說明上面的操作。
使用到的xls文件內容如下:
使用到的窗體設計如下,其中lvExel.View屬性設置為 Details :
具體代碼:
'載入數據Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDim filename As StringDim ofd As New OpenFileDialog()ofd.Filter = "表格文件|*.xls;*.xlsx"If ofd.ShowDialog <> DialogResult.OK ThenExit SubElsefilename = ofd.FileNamelvExcel.Items.Clear()End IfDim xls As New Excel.ApplicationDim Wbook As Excel.Workbook = xls.Workbooks.Open(filename)Dim Wsheet As Excel.WorksheetWsheet = Wbook.Worksheets(1) '("Sheet1")Dim maxColumn As IntegerDim maxRow As Integer'讀入第一行數據作為columnIf Wsheet.Rows.Count > 1 ThenlvExcel.Columns.Clear()maxColumn = Wsheet.UsedRange.Columns.CountmaxRow = Wsheet.UsedRange.Rows.CountFor i As Integer = 1 To maxColumnIf IsNothing(Wsheet.Cells(1, i).Value) Then'無數據lvExcel.Columns.Add("(空)")ElselvExcel.Columns.Add(Wsheet.Cells(1, i).Value)End IfNextFor j As Integer = 2 To maxRowDim Lv As New ListViewItem()Dim LvText As StringIf IsNothing(Wsheet.Cells(j, 1).Value) ThenLvText = "(空)"ElseLvText = Wsheet.Cells(j, 1).ValueEnd IfLv.Text = LvTextDim subLvText As StringFor k As Integer = 2 To maxColumnIf IsNothing(Wsheet.Cells(j, k).Value) ThensubLvText = "(空)"ElsesubLvText = Wsheet.Cells(j, k).ValueEnd IfLv.SubItems.Add(subLvText)NextlvExcel.Items.Add(Lv)NextEnd Ifxls.Quit()End Sub
運行后,當點擊載入數據,選中樣例文件打開后如下:
?
由于.net平臺下C#和vb.NET很相似,本文也可以為C#愛好者提供參考。
學習更多vb.net知識,請參看 vb.net 教程 目錄
總結
以上是生活随笔為你收集整理的vb.net 教程 10-2 Excel操作1 Excel文件的打开的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络打印机安装和设置技巧
- 下一篇: iOS 版微信黑暗模式开启方法