电竞比分网-中国电竞赛事及体育赛事平台

分享

用VB.NET編寫控制excel文件程序

 趨明 2012-02-16
  使用了VB.NET開發(fā)一個(gè)訪問excel讀取數(shù)據(jù)并修改的小程序,有一些經(jīng)驗(yàn)性的東西和大家共享,如果有誤還請大家指正。

大致分為這樣幾個(gè)部分來說明:

1、   準(zhǔn)備部分:

準(zhǔn)備部分我們需要添加excel library的引用到工程中:我使用office2003,它的庫文件為 Microsoft excel 11.0 object library。如果使用excel2000,那么它使用的是Microsoft excel 9.0 object library。

有需要時(shí),我們添加Imports 命名空間。

我在這個(gè)程序中只是訪問了excel的數(shù)據(jù),不需要命名空間了哈。

2、   聲明一些對象:

這些對象并不是都需要,前面三個(gè)應(yīng)該有,后面的,你需要什么對象就聲明:

Dim excelapp As Excel.Application         ‘聲明一個(gè)application對象

Dim excelworkbook As Excel.Workbook ‘聲明一個(gè)工作簿對象

Dim excelsheet As Excel.Worksheet      ‘聲明一個(gè)工作表對象

等等…如:

Dim excelrange As Excel.Range        ‘聲明一個(gè)范圍對象

3、   訪問一個(gè)excel文件:

excelapp = New Excel.Application

excelworkbook = excelapp.Workbooks.Open(strfile) ‘訪問到工作簿:這個(gè)strfile 是文件的路徑,我從打開文件對話框中得到的。

excelsheet = excelworkbook.Sheets.Item(1)   ‘訪問到工作表:item使用索引值來得到sheet對象的引用

excelsheet.activate

我們可以得到此文件中的值:

定義一個(gè)string變量:

Dim strcellvalue as string

Strcellvalue=excelsheet.cells(1,1).value ‘得到A1單元格的內(nèi)容。

修改的時(shí)候反過來就可以了:

excelsheet.cells(1,1).value= Strcellvalue

4、   善后:

在程序的每一個(gè)退出口操作excel對象,保存或者不保存:

Excelworkbook.save

Excelworkbook.close

Excelapp=nothing

5其它:

需要注意~上面的代碼需要一些容錯機(jī)制,比如:

If Not excelworkbook Is Nothing Then 這樣的話來達(dá)到程序的正確運(yùn)行

需要判斷現(xiàn)在excel又沒有打開。如果有excel進(jìn)程正在運(yùn)行。你的代碼很可能會影響到打開的excel,像Excelworkbook.close這樣的語句雖然前面已經(jīng)很好的唯一指定了工作簿,但不能很武斷的進(jìn)行魯莽的操作,我們需要判斷現(xiàn)在excel的運(yùn)行情況。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多