本篇文章給大家談?wù)刯*a自動(dòng)化測(cè)試 excel,以及j*a自動(dòng)化測(cè)試selenium對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收***本站喔。 今天給各位分享j*a自動(dòng)化測(cè)試 excel的知識(shí),其中也會(huì)對(duì)j*a自動(dòng)化測(cè)試selenium進(jìn)行解釋,如果能碰巧解決***現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開始吧!
1、怎么從excel中隨機(jī)抽取數(shù)據(jù)?
1。如何實(shí)現(xiàn)VB與EXCEL的無(wú)縫連接
VB 是常用的應(yīng)用軟件開發(fā)工具之一,由于VB的報(bào)表功能有限,而且一旦報(bào)表格式發(fā)生變化,就得相應(yīng)修改程序,給應(yīng)用軟件的維護(hù)工作帶來(lái)極大的不便。因?yàn)橛泻芏喑绦騿T現(xiàn)在已經(jīng)充分利用Excel的***大報(bào)表功能來(lái)實(shí)現(xiàn)。
但由于VB與Excel分別屬于不同的應(yīng)用系統(tǒng),如何把它們有機(jī)地結(jié)合在一起,是一個(gè)值得我們研究的課題。
筆者在軟件開發(fā)工作中,對(duì)VB的自動(dòng)化功能和Excel的宏功能進(jìn)行了一定的研究,實(shí)現(xiàn)了VB與Excel的有機(jī)結(jié)合?,F(xiàn)提出來(lái)與大家探討。
一、VB讀寫Excel表
VB本身的自動(dòng)化功能可以讀寫Excel表,其方***如下:
1、在工程中引用Microsoft Excel類型庫(kù):
從“工程”菜單中選擇“引用”欄;選擇Microsoft Excel 9。
0 Object Library (Excel2000),然后選擇“確定”。表示在工程中要引用Excel類型庫(kù)。
2、在通用對(duì)象的聲明過(guò)程中定義Excel對(duì)象:
Dim xl*** As Excel。***lication
Dim XlBook As Excel。
WorkBook
Dim xlSheet As Excel。Worksheet
3、在程序中操作Excel表常用命令:
Set xl*** = CreateObject (“Excel。***lication”)’創(chuàng)建Excel對(duì)象
Set XlBook = xl***。
Workbooks。Open(“文件名”) ’打開已經(jīng)存在的Excel工作薄文件
xl***。Visible = True ’設(shè)置Excel對(duì)象可見(jiàn)(或不可見(jiàn))
Set xlSheet = xlBook。Worksheets(“表名”)
xlSheet。
Cells(row,col) = 值 ’給單元格(row,col)賦值
xlSheet。PrintOut ’打印工作表
xlBook。CloseTrue ’關(guān)閉工作薄
xl***。Quit ’結(jié)束Excel對(duì)象
Set xl*** = Nothing ’釋放xl***對(duì)象
xlBook。
RunAutoMacros xlAutoOpen ’運(yùn)行Excel啟動(dòng)宏
xlBook。RunAutoMacros xlAutoClose ’運(yùn)行Excel關(guān)閉宏
4、在運(yùn)用以上VB命令操作Excel表時(shí),除非設(shè)置Excel對(duì)象不可見(jiàn),否則VB程序可繼續(xù)執(zhí)行其它操作,也能夠關(guān)閉Excel,同時(shí)也可對(duì)Excel進(jìn)行操作。
但在Excel操作過(guò)程中關(guān)閉Excel對(duì)象時(shí),VB無(wú)***知***,如果此時(shí)使用Excel對(duì)象,則VB程序會(huì)出現(xiàn)自動(dòng)化錯(cuò)誤,形成VB程序無(wú)***完全控制Excel狀況,使得VB與Excel脫節(jié)。
二、Excel的宏功能
Excel 提供了一個(gè)Visual Basic編輯器,打開Visual Basic編輯器,其中有一工程屬性窗口,點(diǎn)擊右鍵菜單的“插入模塊”,則增加一個(gè)“模塊1”,在此模塊中可以運(yùn)用Visual Basic語(yǔ)言編寫函數(shù)和過(guò)程并稱之為宏。
其中,Excel有兩個(gè)自動(dòng)宏:一個(gè)是啟動(dòng)宏(Sub Auto_Open()),另一個(gè)是關(guān)閉宏(Sub Auto_Close())。它們的特性是:當(dāng)用Excel打開含有啟動(dòng)宏的工作薄時(shí),就會(huì)自動(dòng)運(yùn)行啟動(dòng)宏,同理,當(dāng)關(guān)閉含有關(guān)閉宏的工作薄時(shí)就會(huì)自動(dòng)運(yùn)行關(guān)閉宏。
但是通過(guò)VB的自動(dòng)化功能來(lái)調(diào)用Excel工作表時(shí),啟動(dòng)宏和關(guān)閉宏不會(huì)自動(dòng)運(yùn)行,而需要在VB中通過(guò)命令 xlBook。RunAutoMacros(xlAutoOpen)和xlBook。RunAutoMacros(xlAutoClose)來(lái)運(yùn)行啟動(dòng)宏和關(guān)閉宏。
三、VB與Excel的相互溝通:
充分利用Excel的啟動(dòng)宏和關(guān)閉宏,可以實(shí)現(xiàn)VB與Excel的相互溝通,其方***如下:
在Excel的啟動(dòng)宏中加入一段程序,其功能是在磁盤中寫入一個(gè)標(biāo)志文件,同時(shí)在關(guān)閉宏中加入一段刪除此標(biāo)志的程序。
VB程序在執(zhí)行時(shí)通過(guò)判斷此標(biāo)志文件存在與否來(lái)判斷Excel是否打開,如果此標(biāo)志文件存在,表明Excel對(duì)象正在運(yùn)行,應(yīng)該禁止其它程序的運(yùn)行。如果此標(biāo)志文件不存在,表明Excel對(duì)象已被關(guān)閉,此時(shí)如果要使用Excel對(duì)象運(yùn)行,必須重新創(chuàng)建Excel對(duì)象。
四、舉例
1、在VB中,建立一個(gè)FORM,在其上放置兩個(gè)命令按鈕,將Command1的Caption屬性改為Excel,Command2的Caption屬性改為End。然后在其中輸入如下程序:
Dim xl*** As Excel。
***lication '定義Excel類
Dim xlBook As Excel。Workbook '定義工作薄類
Dim XlSheet As Excel。Worksheet '定義工作表類
Private Sub Command1_Click() '打開Excel過(guò)程
If Dir(“D:\temp\ ”)= “”Then '判斷Excel是否打開
Set xl*** = CreateObject(“Excel。
***lication”) '創(chuàng)建Excel應(yīng)用類
xl***。Visible = True '設(shè)置Excel可見(jiàn)
Set xlBook = xl***。Workbooks。Open(“D:\temp\bb。xls”) '打開Excel工作薄
Set xlSheet = xlBook。
Worksheet(1) '打開Excel工作表
xlSheet。Activate '激活工作表
xlSheet。Cells(1,1) = “abc” '給單元格1行駛列賦值
xlBook。RunAutoMacros(xlAutoOpen) '運(yùn)行Excel中的啟動(dòng)宏
Else
MsgBox(“Excel已打開”)
End If
End Sub
Private Sub Command2_Click()
If Dir(“D:\temp\ ”)<> “” Then '由VB關(guān)閉Excel
xlBook。
RunAutoMacros(xlAutoClose) '執(zhí)行Excel關(guān)閉宏
xlBook。Close(True)關(guān)閉Excel工作薄
xl***。Quit '關(guān)閉Excel
End If
Set xl*** = Nothing '釋放Excel對(duì)象
End
End Sub
2、在D盤根目錄上建立一個(gè)名為temp的子目錄,在temp目錄下建立一個(gè)名為“bb。
xls”的Excel文件。
3、在“bb。xls”中打開Visual Basic編輯器,在工程窗口中點(diǎn)鼠標(biāo)鍵選擇插入模塊,在模塊中輸入以下程序存盤:
Sub auto_open()
Open “d:\temp\ ” For Output As #1
Close #1
End Sub
Sub auto_close()
Kill “d:\temp\ ”
End Sub
4、運(yùn)行VB程序,點(diǎn)擊Excel按鈕可以打開Excel系統(tǒng),打開Excel系統(tǒng)后,VB程序和Excel分別屬兩個(gè)不同的應(yīng)用系統(tǒng),均可同時(shí)進(jìn)行操作,由于系統(tǒng)加了判斷,因此在VB程序中重復(fù)點(diǎn)擊Excel按鈕時(shí)會(huì)提示Excel已打開。
如果在Excel中關(guān)閉Excel后再點(diǎn)Excel按鈕,則會(huì)重新打開Excel。而無(wú)論Excel打開與否,通過(guò)VB程序均可關(guān)閉Excel。這樣就實(shí)現(xiàn)了VB與Excel的無(wú)縫連接。
2。用VB。NET結(jié)合Excel設(shè)計(jì)統(tǒng)計(jì)生產(chǎn)報(bào)表
用EXCEL做企業(yè)生產(chǎn)報(bào)表的理由
Excel表格生成和公式設(shè)置十分***大便利,是一個(gè)***有力的信息分析與處理工具。
特別是EXCEL的公式、函數(shù)、VBA語(yǔ)言,功能極其***大。我試用過(guò)其他電子表格軟件,在功能上和EXCEL根本沒(méi)有可比性。
Visual Studio ,NET也同樣是MicroSoft的產(chǎn)品,Visual Studio ,NET調(diào)用EXCEL做企業(yè)報(bào)表十分方便。
證明當(dāng)時(shí)我選Visual Studio ,NET作為首選開發(fā)工具是正確的。
軟件構(gòu)思
先在EXCEL里定制好名為《統(tǒng)計(jì)表》的樣表(模版),,在樣表中設(shè)置好各種格式,填寫好固定項(xiàng)。
在窗體上放很三個(gè)控件,兩個(gè)DateTimePicker控件,用來(lái)選擇開始統(tǒng)計(jì)時(shí)間和結(jié)束統(tǒng)計(jì)時(shí)間。
一個(gè)Button以啟動(dòng)程序。
軟件欲實(shí)現(xiàn)的功能是:點(diǎn)擊Button1,自動(dòng)查找符合日期符合日期范圍的生產(chǎn)**工作表,然后利用SortedList統(tǒng)計(jì)各個(gè)辦事處的**數(shù)量和未完成數(shù)量,及各個(gè)產(chǎn)品型號(hào)的**數(shù)量和未完成數(shù)量。再把SortedList的數(shù)據(jù)讀出寫到《統(tǒng)計(jì)表》中。
這里要注意的是,各個(gè)生產(chǎn)報(bào)表格式必須規(guī)范統(tǒng)一,因?yàn)槌绦蚴前凑展潭▎卧裎恢米x取數(shù)據(jù)的。
SortedList類
除了具備VB,NET調(diào)用EXCEL的基礎(chǔ)知識(shí)外,本例主要用到SortedList類。
SortedList類表示鍵/值對(duì)的**,這些鍵和值按鍵排序并可按照鍵和索引訪問(wèn)。
SortedList 是 Hashtable 和 Array 的混合。當(dāng)使用 Item 索引器屬性按照元素的鍵訪問(wèn)元素時(shí),其行為類似于 Hashtable。當(dāng)使用 GetByIndex 或 SetByIndex 按照元素的索引訪問(wèn)元素時(shí),其行為類似于 Array。
SortedList 在內(nèi)部維護(hù)兩個(gè)數(shù)組以將數(shù)組存儲(chǔ)到列表中;即,一個(gè)數(shù)組用于鍵,另一個(gè)數(shù)組用于相關(guān)聯(lián)的值。每個(gè)元素都是一個(gè)可作為 DictionaryEntry 對(duì)象進(jìn)行訪問(wèn)的鍵/值對(duì)。鍵不能為空引用(Visual Basic 中為 Nothing),但值可以。
SortedList 的容量是列表可擁有的元素?cái)?shù)。隨著向 SortedList 中添加元素,容量通過(guò)重新分配按需自動(dòng)增加??赏ㄟ^(guò)調(diào)用 TrimToSize 或通過(guò)顯式設(shè)置 Capacity 屬性減少容量。
SortedList 的元素將按照特定的 IComparer 實(shí)現(xiàn)(在創(chuàng)建 SortedList 時(shí)指定)或按照鍵本身提供的 IComparable 實(shí)現(xiàn)并依據(jù)鍵來(lái)進(jìn)行排序。
不論在哪種情況下,SortedList 都不允許重復(fù)鍵。
VB,NET結(jié)合EXCEL統(tǒng)計(jì)生產(chǎn)報(bào)表
以下是實(shí)現(xiàn)***碼,供參考。為方便初學(xué)者,部份地方加以注釋。
現(xiàn)在讓我們來(lái)試用一下,先選擇開始統(tǒng)計(jì)時(shí)間和結(jié)束統(tǒng)計(jì)時(shí)間,點(diǎn)擊Button1,程序就自動(dòng)統(tǒng)計(jì)出各個(gè)辦事處的及各個(gè)產(chǎn)品的有關(guān)**數(shù)量及未完成數(shù)量,是不是很方便。
。
到此,以上就是小編對(duì)于j*a自動(dòng)化測(cè)試 excel的問(wèn)題就介紹到這了,希望介紹關(guān)于j*a自動(dòng)化測(cè)試 excel的1點(diǎn)解答對(duì)大家有用。