| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7412 人关注过本帖
标题:如何从excel转为dbf?
只看楼主 加入收藏
huangp1991
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-3-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
如何从excel转为dbf?
根据excel建立一个dbf,字段为excel内容(列),再将excel的数据相应加入dbf各字段?如何做?
搜索更多相关主题的帖子: excel dbf 
2010-03-15 16:42
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:5 
append from ...

★★★★★为人民服务★★★★★
2010-03-15 16:50
YPX2003168
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2008-12-10
收藏
得分:5 
这个东东太简单了,选择另存为  :**.XLS XL5  后辍扩展名一定要是*.XLS XL5   (另存为EXCEL 版本为97  或95版本才可以的)  
后用APPEND FROM  如E:\X.XLS XL5  就搞定,(先要将*.DBF文件打开才行)
2010-03-15 19:13
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
my_file=GETFILE("xls")
IMPORT FROM "&my_file" type XL5
my_dbf=JUSTSTEM(my_file)
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

相互学习,互相交流,共同提高。
2010-03-15 20:51
huangp1991
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-3-15
收藏
得分:0 
执行总是出错。不太明白程序。IMPORT FROM "&my_file" type XL5出错,excel为2003版本

[ 本帖最后由 huangp1991 于 2010-3-16 08:52 编辑 ]
2010-03-16 08:44
huangp1991
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-3-15
收藏
得分:0 
根据excel建立一个dbf,字段为excel内容(列),再将excel的数据相应加入dbf各字段?如何做? dbf原来不存在,没有定义结构。新建一个临时表????
2010-03-16 08:47
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:5 
回复“执行总是出错。不太明白程序。IMPORT FROM "&my_file" type XL5出错,excel为2003版本”

在VFP8测试通过。

出错内容是什么?

相互学习,互相交流,共同提高。
2010-03-16 22:45
huangp1991
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-3-15
收藏
得分:0 
local iRow,iCol
local oExcel,oWorkBook,oSheet  
local cFilePath  
public cFieldName,cFieldVal
oExcel=createobject("excel.application")
oExcel.visible=.f.
cFilePath=getfile("xls")


IF EMPTY(cFilePath)
   messagebox("请选择excel文件")
   RETURN
ENDIF

oWorkBook=oExcel.workbooks.open(cFilePath)
oSheet=oWorkBook.sheets(1)  

use limz  exclusive
zap

for iRow=1 to oSheet.usedRange.rows.count  
  append blank   
 
  for iCol=1 to  oSheet.usedRange.columns.count
    cFieldName=oSheet.cells(1,iCol).value
    cFieldVal=oSheet.cells(iRow+1,iCol).value
   
   
    replace &cFieldName with  cFieldVal   
  endfor
endfor
" replace &cFieldName with  cFieldVal"运行时候总是出错,数据类型不匹配,帮我改一下?   



[ 本帖最后由 huangp1991 于 2010-3-18 14:26 编辑 ]
2010-03-17 12:35
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:5 
Excel表中列的数据类型与limz表中对应字段的类型不相符,需要将Excel表中的列数据类型修改相符才行。

相互学习,互相交流,共同提高。
2010-03-17 19:19
huangp1991
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-3-15
收藏
得分:0 
回复 9楼 qjbzjp
replace &cFieldName with  trim((cFieldVal))这样就可以了

[ 本帖最后由 huangp1991 于 2010-3-18 14:25 编辑 ]
2010-03-18 09:13
快速回复:如何从excel转为dbf?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012722 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved