标题:求EXCEL2007数据转DBF的方法
只看楼主
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
结帖率:95.71%
已结贴  问题点数:20 回复次数:5 
求EXCEL2007数据转DBF的方法
各位亲:微软的EXCEL高版本不再有另存为DBF的功能,所以,EXCEL2007的数据要转移到DBF上来,显得很麻烦。
大家有什么好方法?

我是通过VF一个单元格一个单元格读取的办法,感觉太费时(效率低下)。所以发贴求助!
搜索更多相关主题的帖子: DBF EXCEL2007 数据 单元格 方法 
2020-04-30 15:19
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
“快”取决于EXCEL表的具体内容和DBF的结构
没有完全通杀的,所谓的通用模式相对来说肯定快不了。
2020-04-30 16:04
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册: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
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
简单便捷的是另存为文本文件再APPEND到DBF
2020-04-30 19:18
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:40
帖 子:749
专家分:2475
注 册:2011-5-8
得分:5 
如果数据量比较大,建议导入到ACCESS中,再用VFP远程视图从ACCESS导入。这样不会丢失数据,速度也快。
注意导入到ACCESS中,是打开ACCESS数据库,导入EXCEl表,不是另存。

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


dBase有人接盘了。
2020-04-30 19:57
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:0 
谢谢各位亲!

只求每天有一丁点儿的进步就可以了
2020-05-04 13:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501352-1-1.html




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

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