這是一個園長學習VFP(Visual Foxpro)的Blog歡迎同好一起來參與

星期六, 4月 10, 2010

使用odbc匯入excel檔案

 

匯入EXCEL到VFP中有很多方法,但若使用VFP的APPEND FROM …TYPE XLS8,或IMPORT FROM … TYPE XL8

皆只能支援到 EXCEL5.0 ,但現在版本都已經到EXCEL12.0了

所以只能將EXCEL另存成EXCEL5.0的格式再轉入,現在介紹的這個方法,可以直接匯入新版本的EXCEL檔

imp_file="要匯入的EXCEL檔名(包含路徑)"
*
lcMDBName=Substr(imp_file,Rat('\',imp_file)+1,Len(imp_file)-Rat('\',imp_file))   

lcMDBDir=Substr(imp_file,1,Rat('\',imp_file))

* for vista    
*Microsoft Excel Driver (*.xls);DriverId=790;DefaultDir=C:\;DBQ=testbook.xls
lcCnStr =;
'DRIVER=Microsoft Excel Driver (*.xls);'+;
'DriverId=790;'+;
'DefaultDir='+Substr(imp_file,1,Rat('\',imp_file))+';'+;
'DBQ='+Substr(imp_file,Rat('\',imp_file)+1,Len(imp_file)-Rat('\',imp_file))
*   
nCon = Sqlstringconnect( lcCnStr )
If nCon<0    &&連線失敗
    =chk_err("不是正確的來源檔(*.xls)")
    Return .F.
ELSE
   lcSQL = "SELECT * FROM [sheet1$]"
   lnError = SQLExec( nCon, lcSQL ,'tmp_xls')
   IF lnError = 1  &&取檔成功
         SELECT tmp_xls
         BROWSE
   ENDIF
ENDIF
= SQLDISCONNECT(nCon)

1 則留言:

beeboy 提到...

謝謝大大的分享...目前剛好有需要...感恩!