成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

visual studio 畫表格 怎么從excel中隨機(jī)抽取數(shù)據(jù)?

怎么從excel中隨機(jī)抽取數(shù)據(jù)?1。如何實(shí)現(xiàn)VB與EXCEL的無縫連接VB 是常用的應(yīng)用軟件開發(fā)工具之一,由于VB的報(bào)表功能有限,而且一旦報(bào)表格式發(fā)生變化,就得相應(yīng)修改程序,給應(yīng)用軟件的維護(hù)工作帶來極

怎么從excel中隨機(jī)抽取數(shù)據(jù)?

1。如何實(shí)現(xiàn)VB與EXCEL的無縫連接

VB 是常用的應(yīng)用軟件開發(fā)工具之一,由于VB的報(bào)表功能有限,而且一旦報(bào)表格式發(fā)生變化,就得相應(yīng)修改程序,給應(yīng)用軟件的維護(hù)工作帶來極大的不便。因?yàn)橛泻芏喑绦騿T現(xiàn)在已經(jīng)充分利用Excel的強(qiáng)大報(bào)表功能來實(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é)合。現(xiàn)提出來與大家探討。

一、VB讀寫Excel表

VB本身的自動(dòng)化功能可以讀寫Excel表,其方法如下:

1、在工程中引用Microsoft Excel類型庫(kù):

從“工程”菜單中選擇“引用”欄;選擇Microsoft Excel 9。

0 Object Library (Excel2000),然后選擇“確定”。表示在工程中要引用Excel類型庫(kù)。

2、在通用對(duì)象的聲明過程中定義Excel對(duì)象:

Dim xlApp As Excel。Application

Dim XlBook As Excel。

WorkBook

Dim xlSheet As Excel。Worksheet

3、在程序中操作Excel表常用命令:

Set xlApp CreateObject (“Excel。Application”)'創(chuàng)建Excel對(duì)象

Set XlBook xlApp。

Workbooks。Open(“文件名”) '打開已經(jīng)存在的Excel工作薄文件

xlApp。Visible True '設(shè)置Excel對(duì)象可見(或不可見)

Set xlSheet xlBook。Worksheets(“表名”)

xlSheet。

Cells(row,col) 值 '給單元格(row,col)賦值

xlSheet。PrintOut '打印工作表

xlBook。CloseTrue '關(guān)閉工作薄

xlApp。Quit '結(jié)束Excel對(duì)象

Set xlApp Nothing '釋放xlApp對(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ì)象不可見,否則VB程序可繼續(xù)執(zhí)行其它操作,也能夠關(guān)閉Excel,同時(shí)也可對(duì)Excel進(jìn)行操作。

但在Excel操作過程中關(guān)閉Excel對(duì)象時(shí),VB無法知道,如果此時(shí)使用Excel對(duì)象,則VB程序會(huì)出現(xiàn)自動(dòng)化錯(cuò)誤,形成VB程序無法完全控制Excel狀況,使得VB與Excel脫節(jié)。

二、Excel的宏功能

Excel 提供了一個(gè)Visual Basic編輯器,打開Visual Basic編輯器,其中有一工程屬性窗口,點(diǎn)擊右鍵菜單的“插入模塊”,則增加一個(gè)“模塊1”,在此模塊中可以運(yùn)用Visual Basic語(yǔ)言編寫函數(shù)和過程并稱之為宏。

其中,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)閉宏。

但是通過VB的自動(dòng)化功能來調(diào)用Excel工作表時(shí),啟動(dòng)宏和關(guān)閉宏不會(huì)自動(dòng)運(yùn)行,而需要在VB中通過命令 xlBook。RunAutoMacros(xlAutoOpen)和xlBook。RunAutoMacros(xlAutoClose)來運(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í)通過判斷此標(biāo)志文件存在與否來判斷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 xlApp As Excel。

Application 定義Excel類

Dim xlBook As Excel。Workbook 定義工作薄類

Dim XlSheet As Excel。Worksheet 定義工作表類

Private Sub Command1_Click() 打開Exc:temp ”) “”Then 判斷Excel是否打開

Set xlApp CreateObject(“Excel。

Application”) 創(chuàng)建Excel應(yīng)用類

xlApp。Visible True 設(shè)置Exc:tempb。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 ”)ltgt “” Then 由VB關(guān)閉Excel

xlBook。

RunAutoMacros(xlAutoClose) 執(zhí)行Excel關(guān)閉宏

xlBook。Close(True)關(guān)閉Excel工作薄

xlApp。Quit 關(guān)閉Excel

End If

Set xlApp 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_op:temp ” For Output As #1

Close #1

End Sub

Sub auto_clos: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。而無論Excel打開與否,通過VB程序均可關(guān)閉Excel。這樣就實(shí)現(xiàn)了VB與Excel的無縫連接。

2。用VB。NET結(jié)合Excel設(shè)計(jì)統(tǒng)計(jì)生產(chǎn)報(bào)表

用EXCEL做企業(yè)生產(chǎn)報(bào)表的理由

  Excel表格生成和公式設(shè)置十分強(qiáng)利,是一個(gè)強(qiáng)有力的信息分析與處理工具。

特別是EXCEL的公式、函數(shù)、VBA語(yǔ)言,功能極其強(qiáng)大。我試用過其他電子表格軟件,在功能上和EXCEL根本沒有可比性。

  Visual Studio ,NET也同樣是MicroSoft的產(chǎn)品,Visual Studio ,NET調(diào)用EXCEL做企業(yè)報(bào)表十分方便。

證明當(dāng)時(shí)我選Visual Studio ,NET作為首選開發(fā)工具是正確的。   

  軟件構(gòu)思

  先在EXC《統(tǒng)計(jì)表》的樣表(模版),,在樣表中設(shè)置好各種格式,填寫好固定項(xiàng)。

  在窗體上放很三個(gè)控件,兩個(gè)DateTimePick《統(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ì)的集合,這些鍵和值按鍵排序并可按照鍵和索引訪問。

  SortedList 是 Hashtable 和 Array 的混合。當(dāng)使用 Item 索引器屬性按照元素的鍵訪問元素時(shí),其行為類似于 Hashtable。當(dāng)使用 GetByIndex 或 SetByIndex 按照元素的索引訪問元素時(shí),其行為類似于 Array。

  SortedList 在內(nèi)部維護(hù)兩個(gè)數(shù)組以將數(shù)組存儲(chǔ)到列表中;即,一個(gè)數(shù)組用于鍵,另一個(gè)數(shù)組用于相關(guān)聯(lián)的值。每個(gè)元素都是一個(gè)可作為 DictionaryEntry 對(duì)象進(jìn)行訪問的鍵/值對(duì)。鍵不能為空引用(Visual Basic 中為 Nothing),但值可以。

  SortedList 的容量是列表可擁有的元素?cái)?shù)。隨著向 SortedList 中添加元素,容量通過重新分配按需自動(dòng)增加??赏ㄟ^調(diào)用 TrimToSize 或通過顯式設(shè)置 Capacity 屬性減少容量。

  SortedList 的元素將按照特定的 IComparer 實(shí)現(xiàn)(在創(chuàng)建 SortedList 時(shí)指定)或按照鍵本身提供的 IComparable 實(shí)現(xiàn)并依據(jù)鍵來進(jìn)行排序。

不論在哪種情況下,SortedList 都不允許重復(fù)鍵。

VB,NET結(jié)合EXC

怎么在PPT中使用EXCEL中大量數(shù)據(jù)生成動(dòng)態(tài)曲線圖?

在PPT中選擇插入--對(duì)象--由文件創(chuàng)建,選擇你的xls表格。

最最重要的是,勾選下面的「鏈接」。然后改動(dòng)xls之后進(jìn)入PPT會(huì)提示更新鏈接。然后改動(dòng)xls之后進(jìn)入PPT會(huì)提示更新鏈接。

以上均為2010版,或許顯示有所不同,不過方法通用。

我補(bǔ)充一下vba的方法:

首先,你要把這個(gè)宏安全調(diào)到低,然后再選項(xiàng)-自定義功能區(qū)勾選開發(fā)工具,然后再Ofiice中點(diǎn)擊開發(fā)工具-VisualBasic,復(fù)制下面代碼:

SubOnSlideShowPageChange()這個(gè)是ppt放映時(shí)自動(dòng)運(yùn)行的,用來打開調(diào)用excel

SetxlAppNewExcel。

Application

xlFilePath$ActivePresentation。Pathamp