标题:如何将多个EXCEL文件 读入DBF中
取消只看楼主
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
结帖率:96.99%
已结贴  问题点数:20 回复次数:4 
如何将多个EXCEL文件 读入DBF中
同一文件夹下有多个EXCEL文件,格式相同,字段相同,如何将它们读入到DBF汇总表中?请高手帮忙,万分感谢!!!
成绩.zip (6.31 KB)
搜索更多相关主题的帖子: DBF EXCEL 文件 多个 读入 
2021-12-14 13:12
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
@吹水佬 非常感谢!如果分数为小数:87.5、77.5、90.5 代码应如何写
2021-12-14 15:50
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
非常感谢各位的热心指点!如果将 出生年月 字段设置为日期型,代码如何写呢?
2021-12-14 16:57
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册: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: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
改动下列代码,问题已解决。

If Isnull(eole.cells(k,(i-1)*6+1).Value)&&空值判断,如值为空则不继续读取
     Exit
 Endif
2021-12-17 07:30



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




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

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