excel导入到vfp中有关列标题

eipt 2009-05-27 01:42:53
excel导入到vfp中,使用import,如何把excel第一行设置为列标题呢?
...全文
330 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2009-06-03
  • 打赏
  • 举报
回复
再优化一下,并且字段数支持大于上面的26个:

Close Databases All
lcExcelFileName=Getfile('Xls', '','', 0, '选择一个Excel表,另存为Dbf表,Excel表的首行内容做为Dbf表的字段名')
If Empty(lcExcelFileName)
Return
Endif
Import From (lcExcelFileName) Type Xl5
lcTmpDbfName=Juststem(Dbf())
For m.lnI=1 To Fcount("&lcTmpDbfName")
lcStr="Alter Table "+ "&lcTmpDbfName Rename Column "+Field(m.lnI)+" To "+Evaluate(Field(m.lnI))
&lcStr.
Endfor
lcPutDbfName=Putfile('',lcTmpDbfName,'Dbf')
If Empty(lcPutDbfName)
Return
Endif
Copy To (lcPutDbfName) For Recno()#1
Close Databases All
十豆三 2009-06-03
  • 打赏
  • 举报
回复
my_file=Getfile("xls")
Import From "&my_file" Type Xl5
my_dbf=Strtran("&my_file",".XLS","")
my_dbf=Justfname("&my_dbf")
Select ("&my_dbf")
For m.lnI=1 To Fcount("&my_dbf")
mzd=Substr("ABCDEFGHIJKLMNOPQRSTUVWSYZ",m.lnI,1)
mfilename=Field(mzd)
m_ren="Alter Table "+ "&my_dbf Rename Column "+ mzd+" to "+ Chrtran(&mfilename,Space(1),"")
&m_ren.
Endfor
Go 1
Delete
Pack
Browse
eipt 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 apple_8180 的回复:]
再优化一下,并且字段数支持大于上面的26个:


VBScript codeClose Databases All
lcExcelFileName=Getfile('Xls', '','', 0, '选择一个Excel表,另存为Dbf表,Excel表的首行内容做为Dbf表的字段名')
If Empty(lcExcelFileName)
Return
Endif
Import From (lcExcelFileName) Type Xl5
lcTmpDbfName=Juststem(Dbf())
For m.lnI=1 To Fcount("&lcTmpDbfName")
lcStr="Alter Table "+ "&lcTmpDbfName Rename Col…
[/Quote]


这个有效,非常感谢!也谢谢ZJPQJB
maowx 2009-06-02
  • 打赏
  • 举报
回复
你用导入向导呀,选好被导入的文件,设好存放的位置和文件名,再使用第二行作为列标题就行了,很方便,是vfp自己带的导入向导,我一直这样用。
ZJPQJB 2009-06-02
  • 打赏
  • 举报
回复
把Excel文件放到同一目录中再试试。增加了防止列标题中的空格干扰问题。
my_file=GETFILE("xls")
IMPORT FROM "&my_file" type XL5
my_dbf=STRTRAN("&my_file",".XLS","")
my_dbf=STRTRAN("&my_dbf",SYS(5)+SYS(2003)+"\","")
SELECT ("&my_dbf")
FOR iii=1 to FCOUNT("&my_dbf")
mzd=SUBSTR("ABCDEFGHIJKLMNOPQRSTUVWSYZ",iii,1)
mfilename=FIELD(mzd)
m_ren="ALTER TABLE "+ "&my_dbf rename column "+ mzd+" to "+ CHRTRAN(&mfilename," ","")
&m_ren
NEXT
GO 1
DELETE
PACK
BROWSE
xlj2000 2009-06-02
  • 打赏
  • 举报
回复
楼主想用程序完成不想用手工导。
eipt 2009-06-01
  • 打赏
  • 举报
回复
如果你的VFP表已经存在,则可以直接用

use VFP表名
APPEND FROM Excel表.xls TYPE xl5


请教:如果vfp表不存在,应该如何操作?


my_file=GETFILE("xls")
IMPORT FROM "&my_file" type XL5
my_dbf=STRTRAN("&my_file",".XLS","")
my_dbf=STRTRAN("&my_dbf",SYS(5)+SYS(2003)+"\","")
SELECT ("&my_dbf")
FOR iii=1 to FCOUNT("&my_dbf")
mzd=SUBSTR("ABCDEFGHIJKLMNOPQRSTUVWSYZ",iii,1)
mfilename=FIELD(mzd)
m_ren="ALTER TABLE "+ "&my_dbf rename column "+ mzd+" to "+ &mfilename
&m_ren
NEXT
GO 1
DELETE
PACK
BROWSE

试了一下,第一行没有变成标题
ZJPQJB 2009-05-29
  • 打赏
  • 举报
回复
my_file=GETFILE("xls")
IMPORT FROM "&my_file" type XL5
my_dbf=STRTRAN("&my_file",".XLS","")
my_dbf=STRTRAN("&my_dbf",SYS(5)+SYS(2003)+"\","")
SELECT ("&my_dbf")
FOR iii=1 to FCOUNT("&my_dbf")
mzd=SUBSTR("ABCDEFGHIJKLMNOPQRSTUVWSYZ",iii,1)
mfilename=FIELD(mzd)
m_ren="ALTER TABLE "+ "&my_dbf rename column "+ mzd+" to "+ &mfilename
&m_ren
NEXT
GO 1
DELETE
PACK
BROWSE
ACMAIN_CHM 2009-05-29
  • 打赏
  • 举报
回复

如果你的VFP表已经存在,则可以直接用

use VFP表名
APPEND FROM Excel表.xls TYPE xl5
eipt 2009-05-29
  • 打赏
  • 举报
回复
对的
wwwwb 2009-05-27
  • 打赏
  • 举报
回复
VFP版本?

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧