使用了VB.NET開發(fā)一個訪問excel讀取數(shù)據(jù)并修改的小程序,有一些經(jīng)驗性的東西和大家共享,如果有誤還請大家指正。
大致分為這樣幾個部分來說明:
1、 準備部分:
準備部分我們需要添加excel library的引用到工程中:我使用office2003,它的庫文件為 Microsoft excel 11.0 object library。如果使用excel2000,那么它使用的是Microsoft excel 9.0 object library。
有需要時,我們添加Imports 命名空間。
我在這個程序中只是訪問了excel的數(shù)據(jù),不需要命名空間了哈。
2、 聲明一些對象:
這些對象并不是都需要,前面三個應該有,后面的,你需要什么對象就聲明:
Dim excelapp As Excel.Application ‘聲明一個application對象
Dim excelworkbook As Excel.Workbook ‘聲明一個工作簿對象
Dim excelsheet As Excel.Worksheet ‘聲明一個工作表對象
等等…如:
Dim excelrange As Excel.Range ‘聲明一個范圍對象
3、 訪問一個excel文件:
excelapp = New Excel.Application
excelworkbook = excelapp.Workbooks.Open(strfile) ‘訪問到工作簿:這個strfile 是文件的路徑,我從打開文件對話框中得到的。
excelsheet = excelworkbook.Sheets.Item(1) ‘訪問到工作表:item使用索引值來得到sheet對象的引用
excelsheet.activate
我們可以得到此文件中的值:
定義一個string變量:
Dim strcellvalue as string
Strcellvalue=excelsheet.cells(1,1).value ‘得到A1單元格的內(nèi)容。
修改的時候反過來就可以了:
excelsheet.cells(1,1).value= Strcellvalue
4、 善后:
在程序的每一個退出口操作excel對象,保存或者不保存:
Excelworkbook.save
Excelworkbook.close
Excelapp=nothing
5其它:
需要注意~上面的代碼需要一些容錯機制,比如:
If Not excelworkbook Is Nothing Then 這樣的話來達到程序的正確運行
需要判斷現(xiàn)在excel又沒有打開。如果有excel進程正在運行。你的代碼很可能會影響到打開的excel,像Excelworkbook.close這樣的語句雖然前面已經(jīng)很好的唯一指定了工作簿,但不能很武斷的進行魯莽的操作,我們需要判斷現(xiàn)在excel的運行情況。
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請
點擊舉報。