成人免费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-14 17:08:44

VB.NET使用Fil

2009-10-21 10:45:50

VB.NET Quic

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-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-23 13:22:25

VB.NET實現拖動圖

2009-10-10 16:44:52

VB.NET開發控件

2009-10-27 11:39:03

VB.NET事件處理程

2009-10-21 18:28:48

VB.NET表間拖放

2009-10-29 09:57:16

VB.NET實現數據綁

2009-10-22 09:20:46

VB.NET Proc

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 | 日韩久草 | 欧美国产在线一区 | 青青久视频 | 欧美成人一区二区三区 | h在线免费观看 | 午夜丰满少妇一级毛片 | 久久伊人久久 | 久久久久国产精品 | 久久国产免费 | 欧美成人h版在线观看 | 亚洲成人午夜在线 | 午夜一区 | 欧美日韩成人在线 | 天天爽网站 | 欧美第一页 | 久久日韩精品一区二区三区 | 一区二区在线免费播放 | 中文字幕一区在线 | 成人久久18免费网站麻豆 | 日韩一级免费大片 | 天天综合网天天综合色 | 久久草视频 | 日韩欧美一区二区三区免费看 | 激情五月婷婷综合 | 国产亚洲一区二区在线观看 | 蜜臀av日日欢夜夜爽一区 | 欧美夜夜| 福利二区 | 久久亚洲一区二区三区四区 | 91精品久久久久 | 亚洲一区三区在线观看 | 亚洲国产高清免费 | 中文字幕成人 | 综合久久综合久久 | 亚洲成人福利在线观看 | 亚洲人成在线播放 | 四虎影院新地址 | 国产福利资源 | 久久精品日 | 人人鲁人人莫人人爱精品 |