02 操控傀儡之術:VB.NET寫入EXCEL

02 操控傀儡之術:VB.NET寫入EXCEL

其實,我學習編程除了興趣使然。

最重要的還是,想通過編程幫我批量處理一些報表。

節省一些不必要的手工操作時間,學習更多更有用的技術。

在我看來,程序員又被叫作控偶師。

一行行代碼就像一根根細線,連接著各種對象。

通過操控對象,幫助我們完成各式各樣的工作任務。

VB.NET是編程語言的一種,它通過操控office對象。

可以幫我們實現excel文件的讀寫操作。

想要實現讀寫操作,還需要藉助一樣東西。

他們是API。

02 操控傀儡之術:VB.NET寫入EXCEL

他們是COM。

02 操控傀儡之術:VB.NET寫入EXCEL

關於api和com具體啥意思,你不用理解。

你就知道通過api和com接口,可以讓我們操作office軟件就行了。

02 操控傀儡之術:VB.NET寫入EXCEL

在新建“控制檯”項目後,在Module和end Module代碼之間輸入上述代碼。

準備階段

  • Dim xlApp As Object '聲明主程序對象
  • Dim xlWbk As Object '聲明工作簿對象
  • Dim path$ '定義路徑變量path

vb.net與C#(JAVA)不同,不區分大小寫。

聲明一個xlapp作為excel主程序。

聲明一個xlwbk作為excel工作簿。

  • If xlApp = Nothing Then
  • xlApp = CreateObject("Excel.Application")
  • Else
  • xlApp = GetObject(, "Excel.Application")
  • End If

如果後臺進程列表裡沒有xlapp,也就是沒有excel主程序。

通過CreateObject("Excel.Application")創建一個主程序

02 操控傀儡之術:VB.NET寫入EXCEL

如果後臺進程列表裡存在xlapp(excel.exe*32)。

通過GetObject(, "Excel.Application")獲得程序焦點。

這個過程,採用分支結構進行判斷。

  • if …… then
  • ……
  • else
  • ……
  • end if

寫入階段

  • xlApp.Visible = True
  • path = "E:\\c#cx\\ConsoleApplication1\\ConsoleApplication1\\bin\\Debug\\模板.xls"
  • xlWbk = xlApp.Workbooks.open(path)
  • xlWbk.Worksheets(1).range("A1").value = "hello my world!"
  • xlApp.Visible = True 意思是讓窗體顯示出來。

開頭使用 Dim path$ '定義路徑變量path

  • path = "E:\\c#cx\\ConsoleApplication1\\ConsoleApplication1\\bin\\Debug\\模板.xls"

將文件路徑賦值給path,路徑是字符串,因而用path$定義。

  • xlWbk = xlApp.Workbooks.open(path) 打開指定文件
  • xlWbk.Worksheets(1).range("A1").value = "hello my world!" 在A1單元格內寫入hello my world!
  • 掃尾階段

    • xlWbk.save() ‘保存工作簿
    • xlApp.Application.Workbooks.Close() '關閉Excel表格
    • xlApp.Quit() ’退出主程序
    • xlApp = Nothing ‘清空進駐內存的excel主程序
    • xlWbk = Nothing '清空進駐內存的excel工作簿
    02 操控傀儡之術:VB.NET寫入EXCEL


    分享到:


    相關文章: