日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
講述VB.NET調(diào)用Excel的好處

用什么開發(fā)工具,用什么開發(fā)模式來實(shí)現(xiàn)所要求的功能呢?公司內(nèi)暫時(shí)只有tuenhai自己運(yùn)用,要實(shí)現(xiàn)的功能也不多,在一開始并沒有必要用復(fù)雜的大型數(shù)據(jù)庫系統(tǒng)。為方便信息共享,tuenhai決定用VB.NET調(diào)用Excel來實(shí)現(xiàn)功能模塊。

紫金ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

為什么用VB.NET而不用C#,因?yàn)镋xcel中有個(gè)VBA,其語法和VB.NET是近似的。而且,VB.NET和C#的區(qū)別主要是語法,而非功能。tuenhai現(xiàn)在只要求實(shí)現(xiàn)用程序自動(dòng)安排《自制件生產(chǎn)計(jì)劃》,這個(gè)功能不用VB.NET,單用VBA也能輕易實(shí)現(xiàn)。但是,考慮到以后可能的功能擴(kuò)充、升級,還是用VB.NET。VB.NET是面向一代的開發(fā)工具,功能強(qiáng)大,而且VB.NET調(diào)用Excel也很方便。不推薦用VB6,VB.NET的入門及初級應(yīng)用并不難,為何還要去用早期版本,而不用最新版本,掌握最新技術(shù)呢!

用VB.NET調(diào)用Excel排生產(chǎn)計(jì)劃

軟件構(gòu)思是這樣的:

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

新建一VB.NET應(yīng)用程序,命名為生產(chǎn)計(jì)劃報(bào)表。在窗體上放很少幾個(gè)控件,如:幾個(gè)文本框,用來輸入產(chǎn)品數(shù)量;checkbox用來先選擇是正式生產(chǎn)計(jì)劃還是增補(bǔ)生產(chǎn)計(jì)劃;另外用二個(gè)文本框用來輸入計(jì)劃時(shí)間和計(jì)劃編號。

點(diǎn)擊button,程序打開自制件生產(chǎn)計(jì)劃.xls和2004年自制件生產(chǎn)計(jì)劃.xls,把樣表copy到2004年自制件生產(chǎn)計(jì)劃.xls,并自動(dòng)在目標(biāo)sheet中填寫各自制件需要生產(chǎn)的數(shù)量。

下面是實(shí)現(xiàn)代碼及詳細(xì)注釋。注意,要先添加com引用Microsoft Excel Object Library,tuenhai的是office 2003,引用Microsoft Excel 11.0 Object Library。

 
 
 
  1. Private Sub producePlan()  
  2. Call killEXCEL() '調(diào)用殺死EXCEL進(jìn)程過程  
  3.  
  4. '以下代碼判斷用戶填寫信息是否完整,如不完整則提示信息并退出.  
  5. If chkFormal.Checked = False And chkSubjoin.Checked = False Then  
  6. MsgBox("是正式計(jì)劃還是增補(bǔ)計(jì)劃??", MsgBoxStyle.Critical, "請先選擇計(jì)劃性質(zhì)")  
  7. Exit Sub  
  8. End If  
  9. If txtDay.Text = "2004年月" Then  
  10. MsgBox("什么月份的生產(chǎn)計(jì)劃???", MsgBoxStyle.Critical, "請?zhí)顚懹?jì)劃時(shí)間")  
  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("請?zhí)顚懹?jì)劃臺(tái)數(shù)!", MsgBoxStyle.Critical, "計(jì)劃臺(tái)數(shù)填寫不全")  
  15. Exit Sub  
  16. End If  
  17. If chkFormal.Checked = True And chkSubjoin.Checked = True Then  
  18. MsgBox("正式和增補(bǔ)兩者只能選一!", MsgBoxStyle.Critical, "請重新選擇計(jì)劃性質(zhì)")  
  19. Exit Sub  
  20. End If  
  21.  
  22. '以下代碼即是計(jì)算各自制件的數(shù)量,用中文來命名是免去代碼注釋  
  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. '定義一個(gè)數(shù)組,方便在EXCEL中循環(huán)寫入數(shù)字,也可以放在EXCEL的VBA中實(shí)現(xiàn)  
  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 '自制件生產(chǎn)計(jì)劃.xls  
  53. Dim excelbook2004 As Excel.Workbook '2004自制件生產(chǎn)計(jì)劃.xls  
  54. Dim excelWorksheet As Excel.Worksheet  
  55. Dim planProperty As String '計(jì)劃性質(zhì),是正式計(jì)劃還是增補(bǔ)計(jì)劃  
  56.  
  57. Try '建議用try方式捕捉錯(cuò)誤,處理錯(cuò)誤  
  58.  
  59. excelBook = excelApp.Workbooks.Open(Application.StartupPath & "\自制件生產(chǎn)計(jì)劃.xls")  
  60.  
  61. excelbook2004 = excelApp.Workbooks.Open(Application.StartupPath & "\2004年自制件生產(chǎn)計(jì)劃.xls")  
  62. excelWorksheet = CType(excelBook.Worksheets("樣表"), Excel.Worksheet)  
  63. excelWorksheet.Copy(After:=excelbook2004.Sheets("sheet1"))  
  64. '把樣表copy到<2004年自制件生產(chǎn)計(jì)劃>workbook中sheet1的后面  
  65.  
  66. excelApp.Visible = True '設(shè)置工作薄為可視  
  67.  
  68. If chkFormal.Checked = True Then  
  69. planProperty = "正式" 
  70. ElseIf chkSubjoin.Checked = True Then  
  71. planProperty = "增補(bǔ)" 
  72. End If  
  73.  
  74. With excelbook2004.ActiveSheet '用with 簡化代碼  
  75. .Range("D1").Value = txtDay.Text '計(jì)劃時(shí)間  
  76. .Range("C2").Value = "laoban公司" & txtDay.Text & planProperty & "采購計(jì)劃" '計(jì)劃依據(jù)  
  77. .Range("C25").Value = Now.Date.Today.ToShortDateString '這就是制表日期  
  78. .Range("F2").Value = txtNO.Text '計(jì)劃編號  
  79.  
  80. End With  
  81. For i As Integer = 0 To 18 '共19種自制件  
  82. excelbook2004.ActiveSheet.cells(4 + i, 4) = allNum(i) '4+i是行號,第二個(gè)4是列號  
  83. Next '循環(huán)把各自制件數(shù)填入<2004年自制件生產(chǎn)計(jì)劃>中的活動(dòng)工作表相應(yīng)位置  
  84.  
  85. Catch ex As Exception '捕捉錯(cuò)誤,并回收資源,顯示錯(cuò)誤  
  86. excelBook = Nothing 
  87. excelbook2004 = Nothing 
  88. excelWorksheet = Nothing 
  89. excelApp = Nothing 
  90. GC.Collect(0)  
  91. MsgBox(ex.ToString) '顯示錯(cuò)誤信息,以查找定位  
  92. Exit Sub '出錯(cuò)就退出  
  93. Finally '這里的代碼一定會(huì)被執(zhí)行到  
  94. excelBook = Nothing 
  95. excelbook2004 = Nothing 
  96. excelWorksheet = Nothing 
  97. excelApp = Nothing 
  98. GC.Collect(0)  
  99. End Try  
  100. MsgBox("已排好自制件生產(chǎn)計(jì)劃,請查看")  
  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類構(gòu)造
  3. 討論奇妙的VB.NET屬性
  4. 詳談VB.NET編碼規(guī)范經(jīng)驗(yàn)
  5. 自己動(dòng)手實(shí)現(xiàn)VB.NET控件數(shù)組

網(wǎng)頁題目:講述VB.NET調(diào)用Excel的好處
當(dāng)前地址:http://m.5511xx.com/article/cciecod.html