vb.net對excel的操作------感謝:就愛小毛蟲

vb.net對excel的操作

  要求將數據顯示在excel表中,並且要設好數據格式。網上有許多文章,給我提供了許多幫助,真謝謝他們!!!

      雖說如此,真正實現了自己的功能,還是費了不少時間。相信還是有很多與我相似的人需要實現這種功能。那就做個小結吧。不妥之處,請指正哦。

1.添加引用--com---microsoft excel 11.0 object library

2在需要訪問excel的過程中定義

dim exapp as excel.application   '定義excel應用程序

dim exbook as excel.workbook ‘定義工作簿

dim exsheet as excel.worksheet ‘定義工作表

dim exrange as excel.range     '定義工作區域

3.有了上面的定義,基本上excel的操作就手到擒來了

    exapp.visible=true   '顯示excel 程序

    exbook=exapp.workbooks.add()    '添加新工作簿    或exbook=exapp.workbooks.open("薄名")   / 打開已在工作薄

   exsheet=exbook.sheets(n)     '獲得第n個工作表的控制句柄,後面就由它處理了

   exsheet.cells(row,col)=值       '對指定單元格賦值,這個操作大量出現哦

   exsheet.range(cells,cells).font              '這個屬性也常用到,設置格式就是它了:

   exsheet.range(cells,cells).font.colorindex=3   '設置顏色

exsheet.range(cells,cells).Borders.LineStyle=1'設邊框線

exsheet.range(cells,cells).EntireColumn.AutoFit()   '自動列寬   /可以改爲自動行高哦

exsheet.range(cells,cells).merge                  '合併單元格,複雜的表格這個也用的多哦

exsheet.range(cells,cells).HorizontalAlignment=3   '水平居中   ,當然也可以改爲垂直的

exSheet.PageSetup.Orientation = 2     '頁面橫向

熟練以上這些,基本上就可以實現一些要求了。

  

4。最後是保存文件

exsheet.saveas("文件名")

exbook.save()

5.清理變量

exsheet=nothing

exbook.close

exbook=nothing

exapp.quit

exapp=nothing

 

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

1、定義excel操作變量

dim objexcelfile as excel.application

dim objworkbook as excel.workbook

dim objimportsheet as excel.worksheet

2、打開excel進程,並打開目標excel文件

set objexcelfile = new excel.application

objexcelfile.displayalerts = false

set objworkbook = objexcelfile.workbooks.open(strfilename)

set objimportsheet = objworkbook.sheets(1)

3、獲取excel有效區域的行和列數

intlastcolnum = objimportsheet.usedrange.columns.count

intlastrownum = objimportsheet.usedrange.rows.count

4、逐行讀取excel中數據

由於前兩行爲header部分,所以需要從第三行讀取

如果第1到第10個單元格的值均爲空或空格,則視爲空行

for intcounti = 3 to intlastrownum

check if empty data row

blnnullrow = true

for inti = 1 to 10

if trim$(objimportsheet.cells(intcounti, inti).value) <> "" then

blnnullrow = false

end if

next inti

若不是空行,則進行讀取動作,否則繼續向後遍歷excel中的行

if blnnullrow = false then

獲取單元格中的數據,做有效性check,並將合法數據創建爲實體存入對象數組中

objimportsheet.cells(intcounti, 1).value

……

end if

next intcounti

5、退出excel進程,並關閉excel相關操作對象

objexcelfile.quit

set objworkbook = nothing

set objimportsheet = nothing

set objexcelfile = nothing

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章