| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4623 人关注过本帖, 2 人收藏
标题:如何将多个EXCEL文件 读入DBF中
只看楼主 加入收藏
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
回复 4楼 王咸美
DBF改为适用的数据类型
有必要的话也可以取EXCEL表的数据类型创建DBF表
2021-12-14 18:24
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1790
专家分:3409
注 册:2012-2-29
收藏
得分:0 
学习啦!
2021-12-15 05:35
ls_y041
Rank: 2
等 级:论坛游民
威 望:2
帖 子:176
专家分:66
注 册:2005-9-29
收藏
得分:0 
vfp结合EXCEL太方便工作了,如何实现取工作表字段的数据类型,谢谢

[此贴子已经被作者于2021-12-15 06:24编辑过]

2021-12-15 06:22
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2232
专家分:3913
注 册:2007-4-27
收藏
得分:0 
亦问:如何实现取工作表字段的数据类型?

只求每天有一丁点儿的进步就可以了
2021-12-15 08:48
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
以下是引用wengjl在2021-12-15 08:48:32的发言:

亦问:如何实现取工作表字段的数据类型?

读出工作表数据用 VARTYPE() 判断
2021-12-15 11:50
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2232
专家分:3913
注 册:2007-4-27
收藏
得分:0 
谢谢!

只求每天有一丁点儿的进步就可以了
2021-12-15 13:32
ls_y041
Rank: 2
等 级:论坛游民
威 望:2
帖 子:176
专家分:66
注 册:2005-9-29
收藏
得分:0 
https://blog.
2021-12-15 14:41
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
回复 3楼 gs2536785678
我遇到过类似问题,有300多个这样的Excel文件,要手工合并太难了。估计楼主要合并的文件可能不过百,也会有几十个

dBase有人接盘了。
2021-12-15 17:36
王咸美
Rank: 1
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
收藏
得分:0 
下列代码合并两个EXCEL文件后,DBF表文件中增加了两条空白记录,不知问题出自哪里?请高手赐教。
*!* 合并同一文件夹下多个EXCEL文件到DBF表文件中
Set Safety Off
Close Databases
Clear All
tpath=Sys(5)+Sys(2003)+[\]  &&读取当前路径
Select 1
Create Table 成绩汇总表( 编号 C(8),姓名 C(10),出生年月 C(10),语文 C(5),数学 C(10),英语 C(5))
tn=Adir(ts,"&tpath.*.xls")&&创建一个数组ts,遍历当前路径下所有.XLS文件
tm=1
Do While tm<=tn
    tfile=tpath +ts(tm,1)
    eole=Createobject("excel.application")&&创建Excel对象
    eole.workbooks.Open("&tfile.")&&调用Excel应用程序:
    eole.worksheets("sheet1").Activate &&设置第1个工作表为激活工作表
    eole.Visible=.F. &&不显示Excel窗口
    eole.displayalerts=.F.
    For i=1 To 2
        k=3 &&从第三行取值
        Do While k<33 &&假定Excel文件最多30行数据,可根据需要设置
            If Isnull(eole.cells(k,1).Value)&&空值判断,如值为空则不继续读取
                Exit
            Endif
            Select 1
            Append Blank
            Replace 编号 With Iif(Isnull(eole.cells(k,(i-1)*6+1).Value),[],Iif(Type("(eole.cells(k,(i-1)*6+1).value)")=[N], Alltrim(Str(eole.cells(k,(i-1)*6+1).Value, 8,0)), Alltrim(eole.cells(k,(i-1)*6+1).Value)))
            Replace 姓名 With Iif(Isnull(eole.cells(k,(i-1)*6+2).Value),[],Alltrim(eole.cells(k,(i-1)*6+2).Value))
            Replace 出生年月 With Alltrim(eole.cells(k,(i-1)*6+3).Text)
            Replace 语文 With Alltrim(eole.cells(k,(i-1)*6+4).Text)
            Replace 数学 With Alltrim(eole.cells(k,(i-1)*6+5).Text)
            Replace 英语 With Alltrim(eole.cells(k,(i-1)*6+6).Text)
            k=k+1
        Enddo
        
    Endfor
    eole.workbooks.Close
    eole.Quit
    tm=tm+1
Enddo
Close Databases
Retu
2021-12-16 08:03
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
Isnull()观察一下这样函数返回结果,看到的“空”不一定NULL
2021-12-16 10:36
快速回复:如何将多个EXCEL文件 读入DBF中
数据加载中...
 
   



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

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