注册 登录
编程论坛 VFP论坛

vfp如何将EXCEL单元格F2数据 19850607读到jsxx.dbf日期型字段中

王咸美 发布于 2021-04-16 09:17, 1321 次点击
EXCEL单元格F2数据为: 19850607
如何将它读到jsxx.dbf 日期型字段 “出生日期”中,盼高手赐教,万分感谢!!!

[此贴子已经被作者于2021-4-18 21:26编辑过]

5 回复
#2
sdta2021-04-19 14:34
d = TRANSFORM(oExcel.ActiveSheet.Range("F2").Text, "@R 9999,99,99")
? DATE(&D)
#3
王咸美2021-04-19 15:24
@sdta 非常感谢指点!!!
下列代码不能将EXCEL单元格中的数值导入DBF日期型字段中,望赐教!万分感谢!!!
只有本站会员才能查看附件,请 登录


CLOSE DATABASES
USE xxhzb IN 0
zap
USE grxx IN 0 ALIAS grxx
Local Axx[RECCOUNT("Grxx")]
Eole=CREATEOBJECT('Excel.Application')
WITH Eole
   FOR lnI=1 TO ADIR(Axls,"*.Xls")
   .Workbooks.Open(SYS(5)+SYS(2003)+"\"+Axls[lnI,1])
   SELECT Grxx
   SCAN
      DO case
         CASE INLIST(ALLTRIM(类型),"C","M")
            Axx[RECNO()]=ALLTRIM(.Range(位置).Text)
         CASE ALLTRIM(类型)=="D"
         Axx[RECNO()]=DTOC(TRANSFORM(.Range(位置).Text,"@R 9999-99-99")) && 不能将EXCEL单元格中的数值导入DBF日期型字段中
         CASE ALLTRIM(类型)=="N"
            Axx[RECNO()]=Val(.Range(位置).Text)
     ENDCASE
   ENDSCAN
   INSERT INTO xxhzb FROM ARRAY Axx  
   ENDFOR
   .QUIT
ENDWITH
RELEASE Eole
SELECT xxhzb
BROWSE
USE IN xxhzb


[此贴子已经被作者于2021-4-19 15:32编辑过]

#4
sdta2021-04-19 15:33
SET DATE ANSI
SET MARK TO "-"
SET CENTURY ON
......
......
Axx[RECNO()]=DTOC(TRANSFORM(.Range(位置).Text,"@R 9999-99-99"))
改为
Axx[RECNO()]=CTOD(TRANSFORM(.Range(位置).Text,"@R 9999-99-99"))
#5
王咸美2021-04-19 15:39
@sdta 非常感谢!!!问题完美解决。

[此贴子已经被作者于2021-4-19 15:55编辑过]

#6
wangzhiyi2021-04-19 15:55
以下是引用王咸美在2021-4-19 15:39:50的发言:

只显示年月,日未显示:1985-06-

感觉是你的字段类型设置为字符型而且宽度不够。
1