标题:xls文件内容存到txt文件内,如何跳过xls文件的列名或跳过第一行
只看楼主
yuq
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2022-3-7
结帖率:72.73%
已结贴  问题点数:20 回复次数:10 
xls文件内容存到txt文件内,如何跳过xls文件的列名或跳过第一行
xls文件内容存到txt文件内,如何跳过xls文件的列名或跳过第一行
搜索更多相关主题的帖子: xls 列名 文件 跳过 一行 
2022-09-06 22:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
AT()找到第一行换行位置,SUBSTR()去掉第一行
2022-09-07 07:27
yuq
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2022-3-7
得分:0 
回复 2楼 吹水佬
CREATE DBF hbwj (xm C(30),yxzjhm C(20))
adir(wjm, "C:\Users\11235\Desktop\合并文件\*.xls")
OEXCEL = CREATEOBJECT("EXCEL.APPLICATION")
for i = 1 to alen(wjm,1)
    OEXCEL.WORKBOOKS.OPEN("C:\Users\11235\Desktop\合并文件\"+wjm(i,1))
    OEXCEL.DISPLAYALERTS = .F.
    OEXCEL.ACTIVEWORKBOOK.SAVEAS("C:\Users\11235\Desktop\合并文件\sj.TXT", -4158)
    OEXCEL.ACTIVEWORKBOOK.CLOSE
    OEXCEL.DISPLAYALERTS = .T.
    OEXCEL.QUIT
SELECT hbwj
APPEND FROM sj.TXT DELIMITED WITH TAB
endfor


麻烦给看一下怎么把当前打开文件的第一行跳过去
2022-09-07 09:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
随便给两个文件来测试,应该会简单些
2022-09-07 09:53
yuq
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2022-3-7
得分:0 
回复 4楼 吹水佬
合并文件.zip (12.24 KB)
2022-09-07 10:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 

程序代码:
cDefPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefPath)
CREATE DBF hbwj (xm C(30),yxzjhm C(20))
adir(wjm, "*.xls")
OEXCEL = CREATEOBJECT("EXCEL.APPLICATION")
OEXCEL.DISPLAYALERTS = .F.
for i = 1 to alen(wjm,1)
    OEXCEL.WORKBOOKS.OPEN(cDefPath + wjm(i,1))
    OEXCEL.ACTIVEWORKBOOK.SAVEAS(cDefPath+"sj.TXT", -4158)
    OEXCEL.ACTIVEWORKBOOK.CLOSE
    SELECT hbwj
    APPEND FROM sj.TXT FOR xm!="姓名" DELIMITED WITH TAB
ENDFOR
OEXCEL.QUIT
SELECT * FROM hbwj
2022-09-07 10:45
yuq
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2022-3-7
得分:0 
回复 6楼 吹水佬
这样虽然将列头去掉了,但是并不是严格意义上的跳过第一行呀
2022-09-07 13:01
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:10 
CREATE DBF hbwj (xm C(30),yxzjhm C(20))
adir(wjm, "C:\Users\11235\Desktop\合并文件\*.xls")
OEXCEL = CREATEOBJECT("EXCEL.APPLICATION")
for i = 1 to alen(wjm,1)
    OEXCEL.WORKBOOKS.OPEN("C:\Users\11235\Desktop\合并文件\"+wjm(i,1))
    OEXCEL.ActiveSheet.Rows(1).Delete()        && 删除首行
    OEXCEL.DISPLAYALERTS = .F.
    OEXCEL.ACTIVEWORKBOOK.SAVEAS("C:\Users\11235\Desktop\合并文件\sj.TXT", -4158)
    oExcel.ActiveWorkbook.Close(.f.)            && 不保存修改
    OEXCEL.DISPLAYALERTS = .T.
    SELECT hbwj
    APPEND FROM sj.TXT DELIMITED WITH TAB
endfor
    OEXCEL.QUIT


[此贴子已经被作者于2022-9-7 13:34编辑过]

2022-09-07 13:29
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
楼上两位的都可以得到相同的结果,高!
2022-09-07 15:15
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用yuq在2022-9-7 13:01:36的发言:

这样虽然将列头去掉了,但是并不是严格意义上的跳过第一行呀

是不严格,所以要具体看看你的文件,有针对性的。
如果只是简单地跳过第一行,就要确保每个文件只是第一行要“跳过”才可确保“严格意义”。所以,“严格意义”就要先分析文件格式内容是否符合要求。

2022-09-07 17:50



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




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

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