| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 617 人关注过本帖
标题:求EXCEL2007数据转DBF的方法
只看楼主 加入收藏
wengjl
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:1861
专家分:3350
注 册:2007-4-27
结帖率:96.49%
收藏
已结贴  问题点数:20 回复次数:6 
求EXCEL2007数据转DBF的方法
各位亲:微软的EXCEL高版本不再有另存为DBF的功能,所以,EXCEL2007的数据要转移到DBF上来,显得很麻烦。
大家有什么好方法?

我是通过VF一个单元格一个单元格读取的办法,感觉太费时(效率低下)。所以发贴求助!
搜索更多相关主题的帖子: DBF EXCEL2007 数据 单元格 方法 
2020-04-30 15:19
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:276
帖 子:7621
专家分:34102
注 册:2014-5-20
收藏
得分:5 
“快”取决于EXCEL表的具体内容和DBF的结构
没有完全通杀的,所谓的通用模式相对来说肯定快不了。
2020-04-30 16:04
厨师王德榜
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:109
帖 子:634
专家分:2616
注 册:2013-2-16
收藏
得分:5 
提供2种方法, 大致思路如下:
OLE方式打开Excel,读取前2行,遍历所有列,分析出列的名称和列的类型,
根据分析的结果,建立列结构对应的空白的DBF.
控制OLE对象,另存为CSV,或TXT
OLE对象退出.
打开上一步建立的空白DBF,Append from ... 刚才另存的CSV,或TXT
这种方式避开的逐格子读取,应该是最快的.
*=============================================================*
当然,把Excel作为一个数据源,用ADO方式访问也可以,大致思路描述如下:
ADO建立连接,访问指定Sheet的数据,并保存于RecordSet中
遍历RecordSet各列,分析各列的名称和列数据类型,
根据分析的结果,建立列结构对应的空白的DBF.
RecordSet以TXT格式,保存到硬盘
ADO连接关闭
打开上一步建立的空白DBF,Append from ... 刚才另存的TXT
这种方式同样避开的逐格子读取.

这里只给出思路,代码的话,论坛中已经有很多前辈有示范了.这里就不重复了.
2020-04-30 17:35
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:276
帖 子:7621
专家分:34102
注 册:2014-5-20
收藏
得分:0 
简单便捷的是另存为文本文件再APPEND到DBF
2020-04-30 19:18
xuminxz
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:22
帖 子:471
专家分:1440
注 册:2011-5-8
收藏
得分:5 
如果数据量比较大,建议导入到ACCESS中,再用VFP远程视图从ACCESS导入。这样不会丢失数据,速度也快。
注意导入到ACCESS中,是打开ACCESS数据库,导入EXCEl表,不是另存。

[此贴子已经被作者于2020-4-30 20:01编辑过]


dBase有人接盘了。
2020-04-30 19:57
donotspam
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:96
专家分:109
注 册:2016-2-28
收藏
得分:5 
VFP一个单元格一个单元格读取的办法,就是正解
2020-05-01 02:06
wengjl
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:1861
专家分:3350
注 册:2007-4-27
收藏
得分:0 
谢谢各位亲!

只求每天有一丁点儿的进步就可以了
2020-05-04 13:35
快速回复:求EXCEL2007数据转DBF的方法
数据加载中...
 
   



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

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