vb.net對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 |