2020年7月13日 星期一

VB.NET 怎麼對 Excel 來做操作 [Control Excel Windows]

如果本身電腦有安裝 Office 的話,在安裝的同時也把一些 DLL 檔案也附上了

OK~開啟一個新專案後,進入該專案的屬性頁,我們要加入參考

Office 2010 的是 14.0

Office 365 的是 15.0

如果沒有安裝 Office 的話就看看網路上有沒有人分享該 DLL 檔


1
2
3
4
5
Microsoft Excel 14.0 Object Library

Microsoft Office 14.0 Object Library

Microsoft Visual Basic for Applications Extensibility 5.3

直接加入看看或許也可以操作

參考已經加入完畢後就進入程式碼的階段了

首先要先引用 Imports Microsoft.Office.Interop

然後建立三個常用到的變數


1
2
3
4
5
Dim app As New Excel.Application 'app 是操作 Excel 的變數

Dim worksheet As Excel.Worksheet 'Worksheet 代表的是 Excel 工作表

Dim workbook As Excel.Workbook 'Workbook 代表的是一個 Excel 本體

如果我們要建立一個新 Excel 的話,可以這樣做


1
2
3
4
5
workbook = app.Workbooks.Add() '建立一個空 Excel (裡面有三張工作表)

workbook.Close(True, "儲存路徑") '操作完畢後一定要關閉檔案

app.Quit() '結束操作

如果我們要開啟一個舊 Excel 的話,可以這樣做


1
workbook = app.Workbooks.Open("檔案路徑") '開啟一張已存在的 Excel 檔案

如果我們要新增一張工作表的話,可以這樣做


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
workbook = app.Workbooks.Open("檔案路徑") '開啟一張已存在的 Excel 檔案

worksheet = workbook.Worksheets.Add() '增加一張工作表,預設位置是最前面,如果要放在最後可以在參數中加入After:=workbook.Sheets(workbook.Sheets.Count)

worksheet.Name = "string" '變更工作表名稱

workbook.Save() '任何操作記得做儲存動作

workbook.Close() '關閉檔案

app.Quit() '結束操作

如果我們要刪除一張工作表的話,可以這樣做


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
workbook = app.Workbooks.Open("檔案路徑") '開啟一張已存在的 Excel 檔案

worksheet = workbook.Worksheets("工作表名稱") '讀取其中一張工作表

worksheet.Delete() '刪除工作表

workbook.Save() '儲存動作

workbook.Close() '關閉檔案

app.Quit() '結束操作

如果我們要讀取/寫入某張工作表的某個欄位的話,可以這樣做


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
workbook = app.Workbooks.Open("檔案路徑") '開啟一張已存在的 Excel 檔案

worksheet = workbook.Worksheets("工作表名稱") '讀取其中一張工作表

MsgBox(worksheet.Cells(1, 4).Value()) '讀取某一個欄位的值,第一個數字是行,第二個數字是列,如果欄位沒有東西會回傳Nothing

worksheet.Cells(1, 4) = "string" '寫入欄位資料

workbook.Save() '儲存動作

workbook.Close() '關閉檔案

app.Quit() '結束操作

以上就是最基本的 Excel 操作了,差不多可以應付各種需求

沒有留言:

張貼留言