| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3750 人关注过本帖
标题:如何合并不同文件夹下的 Excel文件
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
结帖率:97.5%
收藏
已结贴  问题点数: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: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1790
专家分:3409
注 册:2012-2-29
收藏
得分:0 
不同文件夹下的excel文件?合并成一个excel?哈哈^_^

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

2020-05-31 17:03
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
文件合并之前已经探讨过
现在问题主要是枚举E:\ftp文件夹下(包括所有子文件夹)的所有xls文件
2020-05-31 18:52
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:684
专家分:1303
注 册:2009-3-1
收藏
得分:0 
把三个E表COPY到同一文件夹中会汇总的话,无非是加一个路径而已,所以应该也是容易解决的
2020-05-31 20:42
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册: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
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
收藏
得分:0 
@吹水佬 非常感谢指点!能根据我的要求将程序修改一下吗?期待中……
2020-06-01 11:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
以下是引用王咸美在2020-6-1 11:47:07的发言:

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

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

2020-06-01 14:34
王咸美
Rank: 1
等 级:新手上路
帖 子:666
专家分:3
注 册:2018-1-4
收藏
得分:0 
s=FILETOSTR(“TMP.txt”) 提示文件不存在。
2020-06-01 14:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册: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
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
这句也改改
IF UPPER(LEFT(aj[1],LEN(cPath))) == UPPER(cPath)
2020-06-01 17:03
快速回复:如何合并不同文件夹下的 Excel文件
数据加载中...
 
   



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

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