lcPath = GETFILE("xls,xlsx","","確定",0,"打開Excel")
IF EMPTY(lcPath)
RETURN
ENDIF
CREATE CURSOR q_gridExcel(Name C(40),sex C(20),age C(20))
loExcel = CREATEOBJECT("Excel.application") &&創建Excel物件
loExcel.Workbooks.Open(lcPath) &&打開指定作業簿
loExcel.Worksheets("sheet1").Activate &&激活作業表
arrTableInfo=loExcel.ActiveSheet.UsedRange.Value &&將當前作業表中的已用區域(只讀)存入陣列。
loExcel.Quit &&退出Excel
Release loExcel &&只有釋放物件變數, EXCEL行程才會完全關閉
Insert Into q_gridExcel FROM ARRAY arrTableInfo &&從陣列匯入臨時表
uj5u.com熱心網友回復:
看這應該是字符型欄位,轉成數字保留小數點位數,再更新到表里面。uj5u.com熱心網友回復:
CREATE CURSOR q_gridExcel(Name C(40),sex C(20),age C(20))問題出在上面這句定義臨時表欄位的資料型別上
改成
CREATE CURSOR q_gridExcel(Name C(40),sex C(2),age N(2))
或者
CREATE CURSOR q_gridExcel(Name C(40),sex C(2),age C(2))
uj5u.com熱心網友回復:
CREATE CURSOR q_gridExcel(Name C(40),sex C(20),age I)uj5u.com熱心網友回復:
1、修改你的DBF表的欄位型別,把小數位設為你需要的長度。2、也可以從DBF表中,再匯入另一個你設好的DBF表中。
uj5u.com熱心網友回復:
alltrim(str(excel_value,100,2)) &&根據情況取小數位uj5u.com熱心網友回復:
如果都是字符型的話,可以在匯入后再用Scan去掃資料庫,識別到有點的自動截取。
scan
if "."$Name=.T.
repl Name wiht allt(getwordnum(Name,1,"."))
endif
if "."$Sex=.T.
repl Sex wiht allt(getwordnum(Sex,1,"."))
endif
if "."$Age=.T.
repl Age wiht allt(getwordnum(Age,1,"."))
endif
endscan
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/46788.html
標籤:VFP
下一篇:mongo 如何關閉權限認證
