成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

講述VB.NET調用Excel的好處

開發 后端
這里介紹VB.NET調用Excel,為什么用VB.NET而不用C#,因為Excel中有個VBA,其語法和VB.NET是近似的。而且,VB.NET和C#的區別主要是語法,而非功能。

用什么開發工具,用什么開發模式來實現所要求的功能呢?公司內暫時只有tuenhai自己運用,要實現的功能也不多,在一開始并沒有必要用復雜的大型數據庫系統。為方便信息共享,tuenhai決定用VB.NET調用Excel來實現功能模塊。

為什么用VB.NET而不用C#,因為Excel中有個VBA,其語法和VB.NET是近似的。而且,VB.NET和C#的區別主要是語法,而非功能。tuenhai現在只要求實現用程序自動安排《自制件生產計劃》,這個功能不用VB.NET,單用VBA也能輕易實現。但是,考慮到以后可能的功能擴充、升級,還是用VB.NET。VB.NET是面向一代的開發工具,功能強大,而且VB.NET調用Excel也很方便。不推薦用VB6,VB.NET的入門及初級應用并不難,為何還要去用早期版本,而不用最新版本,掌握最新技術呢!

用VB.NET調用Excel排生產計劃

軟件構思是這樣的:

先在Excel里定制好《自制件生產計劃》的樣表(模板),保存為自制件生產計劃.xls,其中只有一個sheet:樣表。在樣表中設置好各種格式,填寫好固定項。再新建一空白workbook,保存為2004年自制件生產計劃.xls。

新建一VB.NET應用程序,命名為生產計劃報表。在窗體上放很少幾個控件,如:幾個文本框,用來輸入產品數量;checkbox用來先選擇是正式生產計劃還是增補生產計劃;另外用二個文本框用來輸入計劃時間和計劃編號。

點擊button,程序打開自制件生產計劃.xls和2004年自制件生產計劃.xls,把樣表copy到2004年自制件生產計劃.xls,并自動在目標sheet中填寫各自制件需要生產的數量。

下面是實現代碼及詳細注釋。注意,要先添加com引用Microsoft Excel Object Library,tuenhai的是office 2003,引用Microsoft Excel 11.0 Object Library。

  1. Private Sub producePlan()  
  2. Call killEXCEL() '調用殺死EXCEL進程過程  
  3.  
  4. '以下代碼判斷用戶填寫信息是否完整,如不完整則提示信息并退出.  
  5. If chkFormal.Checked = False And chkSubjoin.Checked = False Then  
  6. MsgBox("是正式計劃還是增補計劃??", MsgBoxStyle.Critical, "請先選擇計劃性質")  
  7. Exit Sub  
  8. End If  
  9. If txtDay.Text = "2004年月" Then  
  10. MsgBox("什么月份的生產計劃???", MsgBoxStyle.Critical, "請填寫計劃時間")  
  11. Exit Sub  
  12. End If  
  13. If txt703.Text = Nothing Or txt909.Text = Nothing Or txt931.Text = Nothing Or txt932.Text = Nothing Then  
  14. MsgBox("請填寫計劃臺數!", MsgBoxStyle.Critical, "計劃臺數填寫不全")  
  15. Exit Sub  
  16. End If  
  17. If chkFormal.Checked = True And chkSubjoin.Checked = True Then  
  18. MsgBox("正式和增補兩者只能選一!", MsgBoxStyle.Critical, "請重新選擇計劃性質")  
  19. Exit Sub  
  20. End If  
  21.  
  22. '以下代碼即是計算各自制件的數量,用中文來命名是免去代碼注釋  
  23. Dim 涂氟龍面板703 As Integer = CType(txt703.Text, Integer)  
  24. Dim 鈦金面板909 As Integer = CType(txt909.Text, Integer)  
  25. Dim 油磨不銹鋼面板931 As Integer = CType(txt931.Text, Integer)  
  26. Dim 油磨不銹鋼面板932 As Integer = CType(txt932.Text, Integer)  
  27. Dim 底盤24 As Integer = 涂氟龍面板703  
  28. Dim 底盤22 As Integer = 鈦金面板909  
  29. Dim 底盤41A As Integer = 油磨不銹鋼面板931  
  30. Dim 底盤41B As Integer = 油磨不銹鋼面板931  
  31. Dim 水盤25 As Integer = 涂氟龍面板703  
  32. Dim 水盤24 As Integer = 涂氟龍面板703  
  33. Dim 水盤22 As Integer = 鈦金面板909 * 2  
  34. Dim 中心支架2 As Integer = 涂氟龍面板703 + 鈦金面板909  
  35. Dim 長支架931 As Integer = (油磨不銹鋼面板931 + 油磨不銹鋼面板932) * 2  
  36. Dim 支架931U As Integer = 油磨不銹鋼面板931 * 2  
  37. Dim 支架932U As Integer = 油磨不銹鋼面板932 * 2  
  38. Dim 磁頭抱攀 As Integer = (鈦金面板909 + 油磨不銹鋼面板931 + 油磨不銹鋼面板932) * 2  
  39. Dim 電池抱攀 As Integer = (涂氟龍面板703 + 鈦金面板909 + 油磨不銹鋼面板931 + 油磨不銹鋼面板932) * 2  
  40. Dim 三通抱攀 As Integer = 電池抱攀 / 2  
  41. Dim 爐頭墊片 As Integer = 電池抱攀 * 3  
  42.  
  43. '定義一個數組,方便在EXCEL中循環寫入數字,也可以放在EXCEL的VBA中實現  
  44. Dim allNum() As Integer = _ 
  45. {涂氟龍面板703, 鈦金面板909, 油磨不銹鋼面板931, 油磨不銹鋼面板932, _  
  46. 底盤24, 底盤22, 底盤41A, 底盤41B, _  
  47. 水盤25, 水盤24, 水盤22, _  
  48. 中心支架2, 長支架931, 支架931U, 支架932U, _  
  49. 磁頭抱攀, 電池抱攀, 三通抱攀, 爐頭墊片}  
  50.  
  51. Dim excelApp As New Excel.Application  
  52. Dim excelBook As Excel.Workbook '自制件生產計劃.xls  
  53. Dim excelbook2004 As Excel.Workbook '2004自制件生產計劃.xls  
  54. Dim excelWorksheet As Excel.Worksheet  
  55. Dim planProperty As String '計劃性質,是正式計劃還是增補計劃  
  56.  
  57. Try '建議用try方式捕捉錯誤,處理錯誤  
  58.  
  59. excelBook = excelApp.Workbooks.Open(Application.StartupPath & "\自制件生產計劃.xls")  
  60.  
  61. excelbook2004 = excelApp.Workbooks.Open(Application.StartupPath & "\2004年自制件生產計劃.xls")  
  62. excelWorksheet = CType(excelBook.Worksheets("樣表"), Excel.Worksheet)  
  63. excelWorksheet.Copy(After:=excelbook2004.Sheets("sheet1"))  
  64. '把樣表copy到<2004年自制件生產計劃>workbook中sheet1的后面  
  65.  
  66. excelApp.Visible = True '設置工作薄為可視  
  67.  
  68. If chkFormal.Checked = True Then  
  69. planProperty = "正式" 
  70. ElseIf chkSubjoin.Checked = True Then  
  71. planProperty = "增補" 
  72. End If  
  73.  
  74. With excelbook2004.ActiveSheet '用with 簡化代碼  
  75. .Range("D1").Value = txtDay.Text '計劃時間  
  76. .Range("C2").Value = "laoban公司" & txtDay.Text & planProperty & "采購計劃" '計劃依據  
  77. .Range("C25").Value = Now.Date.Today.ToShortDateString '這就是制表日期  
  78. .Range("F2").Value = txtNO.Text '計劃編號  
  79.  
  80. End With  
  81. For i As Integer = 0 To 18 '共19種自制件  
  82. excelbook2004.ActiveSheet.cells(4 + i, 4) = allNum(i) '4+i是行號,第二個4是列號  
  83. Next '循環把各自制件數填入<2004年自制件生產計劃>中的活動工作表相應位置  
  84.  
  85. Catch ex As Exception '捕捉錯誤,并回收資源,顯示錯誤  
  86. excelBook = Nothing 
  87. excelbook2004 = Nothing 
  88. excelWorksheet = Nothing 
  89. excelApp = Nothing 
  90. GC.Collect(0)  
  91. MsgBox(ex.ToString) '顯示錯誤信息,以查找定位  
  92. Exit Sub '出錯就退出  
  93. Finally '這里的代碼一定會被執行到  
  94. excelBook = Nothing 
  95. excelbook2004 = Nothing 
  96. excelWorksheet = Nothing 
  97. excelApp = Nothing 
  98. GC.Collect(0)  
  99. End Try  
  100. MsgBox("已排好自制件生產計劃,請查看")  
  101.  
  102. excelBook = Nothing 
  103. excelbook2004 = Nothing 
  104. excelWorksheet = Nothing 
  105. excelApp = Nothing 
  106. GC.Collect(0)  
  107.  
  108. End Sub 

【編輯推薦】

  1. 概括VB.NET使用OracleTransaction
  2. 五分鐘了解VB.NET類構造
  3. 討論奇妙的VB.NET屬性
  4. 詳談VB.NET編碼規范經驗
  5. 自己動手實現VB.NET控件數組
責任編輯:佚名 來源: 51CTO.com
相關推薦

2009-10-16 13:26:53

VB.NET Exce

2009-10-21 10:45:50

VB.NET Quic

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-10 16:44:52

VB.NET開發控件

2009-10-23 13:22:25

VB.NET實現拖動圖

2009-10-15 11:11:08

VB.NET Text

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-14 11:15:06

VB.NET Grou

2009-10-13 17:03:55

VB.NET面向對象

2009-10-16 09:35:24

VB.NET制作透明窗

2009-11-02 15:45:03

VB.NET IEnu

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-10-19 08:55:22

VB.NET多重繼承

2009-10-29 09:57:16

VB.NET實現數據綁

2009-10-21 18:28:48

VB.NET表間拖放

2009-10-22 09:20:46

VB.NET Proc

2009-10-27 11:39:03

VB.NET事件處理程

2009-10-26 19:22:29

VB.NET使用Log

2009-11-03 17:31:01

VB.NET窗體

2010-01-15 13:30:50

VB.NET Prog
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品二区 | 日本粉嫩一区二区三区视频 | 国产精品资源在线 | 一个色在线 | 密色视频| 理论片免费在线观看 | 婷婷精品 | 国产精品久久久久久久久久尿 | 久久久精品视 | 中文字幕日韩在线 | 欧美一区二区 | 毛片免费视频 | 成人三级av| 色香蕉在线 | 日本成人在线网址 | 在线观看午夜视频 | 久久99精品久久久久 | 成人伊人 | 国精品一区| 亚洲不卡在线观看 | 在线午夜| 国产日韩一区二区 | www.精品国产 | 亚洲日本中文字幕在线 | 国产精品久久国产精品99 gif | 81精品国产乱码久久久久久 | 精精久久 | 日韩成人在线观看 | 国产中文字幕在线观看 | 伊人春色在线 | 国产日韩一区二区 | 免费爱爱视频 | 国产婷婷色综合av蜜臀av | 欧美黄色免费网站 | 一区在线视频 | 久久精点视频 | 日韩一级一区 | 成人伊人 | 成人av一区二区在线观看 | 正在播放国产精品 | 激情av网站 |