标题:如何合并不同文件夹下的 Excel文件
只看楼主
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
结帖率:96.99%
已结贴  问题点数:20 回复次数:10 
如何合并不同文件夹下的 Excel文件
如何将下列几个excel文件合并为一个文件?
E:\ftp\校长室\通讯录校长室.xls
E:\ftp\教导处\通讯录教导处.xls
E:\ftp\德育处\通讯录德育处.xls
这几个文件字段相同,均含有编号、姓名、联系电话、部门。
通讯录校长室.rar (692 Bytes)

通讯录教导处.rar (775 Bytes)

通讯录德育处.rar (662 Bytes)
搜索更多相关主题的帖子: ftp Excel xls 文件 合并 
2020-05-31 16:14
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
不同文件夹下的excel文件?合并成一个excel?哈哈^_^

[此贴子已经被作者于2020-5-31 17:05编辑过]

2020-05-31 17:03
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
文件合并之前已经探讨过
现在问题主要是枚举E:\ftp文件夹下(包括所有子文件夹)的所有xls文件
2020-05-31 18:52
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:680
专家分:1287
注 册:2009-3-1
得分:0 
把三个E表COPY到同一文件夹中会汇总的话,无非是加一个路径而已,所以应该也是容易解决的
2020-05-31 20:42
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
也可以用cmd命令结果输出到文件,再解释文件内容获取XLS文件名
CREATE CURSOR tt (编号 I, 姓名 C(10), 联系电话 C(20), 部门 C(10))
cPath = "C:\TEMP\通讯录\"
RUN "cmd /c dir /s " + cPath + "*.xls > tmp.txt"
s = FILETOSTR("tmp.txt")
cFile = ""
FOR i=1 TO ALINES(ai, s, 5, 0h0D,0h0A)
    IF ALINES(aj,ai[i],5," ") > 0
        IF UPPER(LEFT(aj[1],LEN(cPath))) == cPath
            cFile = aj[1]
        ELSE
            IF !EMPTY(cFile) AND UPPER(JUSTEXT(aj[ALEN(aj)])) == "XLS"
                cFile = cFile + "\" + aj[ALEN(aj)]
                APPEND FROM (cFile) FOR 编号!=0 TYPE XLS
                cFile = ""
            ENDIF
        ENDIF
    ENDIF
ENDFOR
INDEX on 编号 TAG 编号
COPY TO 通讯录.xls TYPE xls
BROWSE


[此贴子已经被作者于2020-6-1 05:26编辑过]

2020-05-31 22:16
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
@吹水佬 非常感谢指点!能根据我的要求将程序修改一下吗?期待中……
2020-06-01 11:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用王咸美在2020-6-1 11:47:07的发言:

@吹水佬 非常感谢指点!能根据我的要求将程序修改一下吗?期待中……

上面的代码的文件夹改为你的文件夹
试试将:
cPath = "C:\TEMP\通讯录\"
改为:
cPath = "E:\ftp\"

2020-06-01 14:34
王咸美
Rank: 1
等 级:新手上路
帖 子:569
专家分:0
注 册:2018-1-4
得分:0 
s=FILETOSTR(“TMP.txt”) 提示文件不存在。
2020-06-01 14:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 
以下是引用王咸美在2020-6-1 14:53:49的发言:

s=FILETOSTR(“TMP.txt”) 提示文件不存在。

用全路径稳阵
cPath = "E:\ftp\"
cTmpFile = cPath + "tmp.txt"
cOutFile = cPath + "通讯录.xls"
cmd = "RUN cmd /c dir /s " + cPath + "*.xls > " + cTmpFile
EXECSCRIPT(cmd)
s = FILETOSTR(cTmpFile)
2020-06-01 16:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
这句也改改
IF UPPER(LEFT(aj[1],LEN(cPath))) == UPPER(cPath)
2020-06-01 17:03



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




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

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