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