我在把xls文件转化为dbf表是可以的,但是要在相同的目录下以相同的名字保存就是不行,不知道为什么。必须要改个名字!请大家指点。
(比如,把C:\大家好.xls转化后,在同一目标下保存大家好.dbf就是不行!痛苦ing)
请各位高手帮忙。在些先谢过了!
SET SAFETY OFF
Exl_File=GETFILE('XLS','请选择XLS表','打开',0,'XLS表转换为DBF表')
IF EMPTY(Exl_File)
MESSAGEBOX('没有选择XLS表!',0,'山东大学')
RETURN
ENDIF
IF UPPER(JUSTEXT(Exl_File)) != "XLS"
MESSAGEBOX('输入了非XLS文件名!',0,'山东大学')
RETURN
ENDIF
MyDBF_File = PUTFILE("DBF文件名",JUSTSTEM(Exl_File),"DBF")
IF EMPTY(MyDBF_File) OR UPPER(JUSTEXT(MyDBF_File)) != "DBF"
MESSAGEBOX('没有输入文件名,或输入了非DBF文件名!',0,'山东大学')
RETURN
ENDIF
IF MESSAGEBOX('是否将表:《'+Exl_File+'》转换为 DBF表?',4+32,'山东大学)!=6
RETURN
ENDIF
IMPORT FROM (Exl_File) TYPE XL5
TEMP_File=JUSTPATH(Exl_File)+'\'+JUSTSTEM(Exl_File)+'.DBF'
IF ALLTRIM(MyDBF_File)!=ALLTRIM(TEMP_File)
COPY TO (MyDBF_File)
ENDIF
EXPP=MESSAGEBOX('XLS 转换为 DBF 已完成!'+CHR(13)+'是否将XLS表的第一行内容作为字段名?',4+32,'山东大学')
IF EXPP=6 && 确认
PUBLIC MYArrayName[1],ArrayName11[1]
USE && 关闭临时表
USE (MyDBF_File) && 打开已保存的表
ZD_NO=AFIELDS(MYArrayName) && 将表的字段信息复制到一个数组中,返回字段个数。 FCOUNT()
GO 1
SCATTER TO ArrayName11
FOR Iwww=1 TO ZD_NO
AA=MYArrayName[Iwww,1] && 获取字段名。 FIELD(I)
BB=ALLTRIM(ArrayName11[Iwww]) && 获取第一行记录内容
ALTER TABLE (ALLTRIM(MyDBF_File)) RENAME COLUMN (AA) TO (BB) && 修改表的字段名
ENDFOR
DELETE
Pack
ENDIF
BROWSE
USE