資源描述:
《VFP讀取Excel表中的數(shù)據(jù).doc精品文檔》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、VFP讀取Excel表中的數(shù)據(jù)在某個(gè)文件夾下有若干個(gè)excel表,其中excel表的數(shù)量和名稱是不定的,現(xiàn)在需要將每個(gè)excel表中的某些單元格(假設(shè)是A3和H4單元格)讀入dbf中。請(qǐng)問(wèn)該如何實(shí)現(xiàn)?gnDbcnumber=ADIR(gadbf,'*.xls')&&創(chuàng)建一個(gè)數(shù)組CLEARFORnCount=1TOgnDbcnumber&&遍歷所有文件中擴(kuò)展名為.xls的文件?gadbf(nCount,1)ENDFOR取得所有文件名的問(wèn)題我已經(jīng)已經(jīng)解決,謝謝!再請(qǐng)問(wèn)如何將excel表中的某些單元格中的數(shù)據(jù)(假設(shè)是A
2、3和H4單元格)讀入dbf中?請(qǐng)看以下代碼:EOLE=CREATEOBJECT("Excel.application")EOLE.Workbooks.OPEN("你的EXCEL表帶路徑全名")EOLE.CAPTION="VFP應(yīng)用程序調(diào)用MicrosoftExcel"EOLE.Worksheets("SHEET1").ACTIVATEEOLE.VISIBLE=.T.MESSAGEBOX('')FORJ=3TO4FORI=ASC('A')TOASC('H')?EOLE.range(CHR(I)+TRANSFORM(
3、J)).VALUEENDFORENDFOReole.Workbooks.closeeole.quitRELEASEeole將?部分換成寫入你的表的語(yǔ)句即可。從Excel表轉(zhuǎn)移數(shù)據(jù)到VFP表的編程實(shí)現(xiàn)方法作者:高進(jìn)龍摘要:把整個(gè)一個(gè)Excel表數(shù)據(jù)轉(zhuǎn)換為VFP表并不難,難就難在把Excel表中某些行某些列的數(shù)據(jù)轉(zhuǎn)移到已有數(shù)據(jù)的某個(gè)VFP表中,而且可能還會(huì)遇到兩表間相應(yīng)數(shù)據(jù)列的名稱、數(shù)據(jù)類型、排列順序不同的問(wèn)題。作者用VFP編程,輕松實(shí)現(xiàn)了這一數(shù)據(jù)轉(zhuǎn)移工作。本文將就這一程序的設(shè)計(jì)思想和實(shí)現(xiàn)方法做簡(jiǎn)要介紹。關(guān)鍵詞:Ex
4、cel表,VFP表,轉(zhuǎn)移數(shù)據(jù),編程實(shí)現(xiàn)一、問(wèn)題的提出VFP(VisualFoxpro)是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其強(qiáng)大的數(shù)據(jù)處理能力及其面向?qū)ο蟮木幊棠芰?,使其得到?shù)據(jù)庫(kù)應(yīng)用程序開發(fā)人員的廣泛使用。而Excel則是一個(gè)優(yōu)秀的電子表格處理軟件,在兼容性、操作界面、公式運(yùn)算、圖表表現(xiàn)等方面有著獨(dú)到的優(yōu)勢(shì),成為廣大辦公應(yīng)用人員常用的工具。因?yàn)閮煞N軟件各有短長(zhǎng),所以在實(shí)際應(yīng)用中常會(huì)遇到兩者之間數(shù)據(jù)的轉(zhuǎn)移問(wèn)題。把整個(gè)VFP表轉(zhuǎn)換為Excel表或者把整個(gè)Excel表轉(zhuǎn)換為VFP表的工作,兩種軟件都提供了相應(yīng)的轉(zhuǎn)換功能,一般
5、用戶很容易操作。但是把Excel表中部分?jǐn)?shù)據(jù)轉(zhuǎn)移到已存在的VFP表中的情況就要復(fù)雜得多。兩種表的數(shù)據(jù)轉(zhuǎn)移可能存在以下三個(gè)方面的問(wèn)題:一是Excel表中可能存在某些行的數(shù)據(jù)不需要或不能被轉(zhuǎn)移,需要轉(zhuǎn)移或者可以轉(zhuǎn)移的僅是其中較規(guī)范的某些行;二是Excel表并非所有列的數(shù)據(jù),而只是某些列的數(shù)據(jù)需要被轉(zhuǎn)移到VFP表的相應(yīng)數(shù)據(jù)列中,兩表中相應(yīng)列的名稱和順序可能不一致;三是Excel表中與VFP表對(duì)應(yīng)數(shù)據(jù)列的數(shù)據(jù)類型可能不一致。因此,對(duì)業(yè)已存在的這兩類數(shù)據(jù)表間數(shù)據(jù)轉(zhuǎn)移工作,用手工完成非常麻煩和費(fèi)時(shí)。在工作實(shí)踐中,作者運(yùn)用VF
6、P編程驅(qū)動(dòng)Excel的能力,設(shè)計(jì)完成了從Excel到VFP的數(shù)據(jù)轉(zhuǎn)移程序,成功地解決了這一問(wèn)題。二、設(shè)計(jì)思路綜合考慮上述三個(gè)問(wèn)題,程序設(shè)計(jì)宜采用的方法是把Excel表中數(shù)據(jù)按單元格逐一轉(zhuǎn)移到VFP表中,所以,需要完成下列三項(xiàng)任務(wù):(1)建立Excel表中要轉(zhuǎn)移數(shù)據(jù)的列與VFP表中要接受數(shù)據(jù)的字段之間一一對(duì)應(yīng)的關(guān)系,這項(xiàng)工作等于給兩表之間的數(shù)據(jù)轉(zhuǎn)移牽線搭橋,是非常關(guān)鍵的一項(xiàng)任務(wù)(如圖2所示)。(2)讀取Excel表中要轉(zhuǎn)移數(shù)據(jù)的起止行行號(hào),從橫向上確定要轉(zhuǎn)移數(shù)據(jù)的范圍。Excel表中一行數(shù)據(jù)(也可能是一行中的某些列
7、)對(duì)應(yīng)VFP表中的一條記錄。(3)轉(zhuǎn)移數(shù)據(jù)時(shí)要處理兩表中數(shù)據(jù)類型不一致的問(wèn)題,以及數(shù)值型數(shù)據(jù)小數(shù)位數(shù)不一致而必須考慮的數(shù)據(jù)四舍五入問(wèn)題。在考慮上述三項(xiàng)任務(wù)的實(shí)現(xiàn)方法時(shí),還要考慮用戶操作的便捷性,直觀性。本程序的所有操作對(duì)象都展現(xiàn)在圖1所示的桌面上,所有操作無(wú)需鍵盤輸入,只需點(diǎn)擊鼠標(biāo)。三、實(shí)現(xiàn)方法本程序設(shè)計(jì)了一張表單,在表單頂部設(shè)置了五個(gè)按鈕、兩個(gè)文本框,下部設(shè)置了一個(gè)表格控件(如圖1下半部所示`),它們將完成下列五個(gè)步驟的工作:1、打開數(shù)據(jù)表指打開已存在的VFP數(shù)據(jù)表,打開的VFP表會(huì)顯示在表單下部的表格控件中。
8、此表被打開,一是為了直觀地向用戶展示表的結(jié)構(gòu)及數(shù)據(jù),二是為了在建立與Excel表關(guān)聯(lián)關(guān)系時(shí)供用戶用鼠標(biāo)選擇相關(guān)的列。2、打開Excel表指打開要轉(zhuǎn)移數(shù)據(jù)的Excel表。首先利用VFP系統(tǒng)自帶的函數(shù)創(chuàng)建一個(gè)Excel應(yīng)用對(duì)象,并借助該對(duì)象的方法打開Excel表,以后VFP程序還要調(diào)用該對(duì)象的方法和屬性完成對(duì)Excel表的各種操作。3、XL—VFP勾通即建立Excel表中列與