判断字段如果是C类型,就强制转换
程序代码:
程序代码:strpath=GETFILE("EXCEL98_2003文件:xls","导入EXCEL数据")&&&要导入的EXCEL表
LOCAL oexcel
oexcel=CREATEOBJECT("Excel.Application")
oexcel.workbooks.OPEN(strpath)
arrtableinfo=oexcel.activesheet.usedrange.VALUE&&&将EXCEL里的数据保存到数组arrtableinfo里
oexcel.QUIT
tablerow=ALEN(arrtableinfo,2)
RELEASE oexcel
USE 你的表&&&要导入EXCEL数据的dbf表
fieldn=AFIELDS(arrayname)&&将表结构信息保存到数组arrayname
FOR i =1 TO fieldn
afieldname=arrayname(i,1)&&&读取dbf表的字段名
IF EMPTY(afieldname)&&如果读取不到dbf字段就退出
EXIT
ENDIF
DIMENSION arrfield(i)
****检测dbf字段名跟EXCEL的哪个字段一致,就将这个字段序号保存到数组arrfield里
arrfield(i)=ASCAN(arrtableinfo,afieldname,1,tablerow)
ENDFOR
FOR i2=2 TO ALEN(arrtableinfo,1)-1&&&检测每一行EXCEL里的数据
APPEND BLANK
FOR i3=1 TO fieldn
IF NOT EMPTY(arrfield(i3))&&如果EXCEK字段跟dbf字段匹配
fieldname=arrayname(i3,1)
IF arrayname(i3,2)=="C"&&&如果是C字段,就强制转换
REPLACE &fieldname WITH TRANSFORM(arrtableinfo(i2,i3))
ELSE
REPLACE &fieldname WITH arrtableinfo(i2,i3)&&将dbf相匹配的字段值修改为EXCEL里的数据。
ENDIF
ENDIF
ENDFOR
ENDFOR
BROWSE

坚持学习vfp,QQ:306805680








