判断字段如果是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