中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]导出每一行的数据为一个TXT文件并操作(感谢slore兄)
作者:
标题: [已结]导出每一行的数据为一个TXT文件并操作(感谢slore兄) 上一主题 | 下一主题
flybird2020
初级用户





积分 103
发帖 52
注册 2007-4-13
状态 离线
『楼 主』:  [已结]导出每一行的数据为一个TXT文件并操作(感谢slore兄)

现有一EXCEL表格,名为All.xls
内容为
1        6        9        4
a        c        e        d
一        二        三        四
等等。。。

要求如下:
1、把每一行导出为一个TXT文件
2、每一行的每一格都加相同的注释,并换行
如:

1.txt的内容为:
第一列:1
第二个:6
第三格:9
最后个:4

2.txt的内容为:
第一列:a
第二个:c
第三格:e
最后个:d


3.txt的内容为:
第一列:一
第二个:二
第三格:三
最后个:四

如果说EXCEL表不好用批处理导出的话,可不可以我手动先把XLS内容复制到TXT里,以每个TABLE为变量来导出呢?
小弟太菜,搜索了半天找不到门道,只能求助,谢谢大大们了。。。

[ Last edited by flybird2020 on 2007-8-21 at 11:04 AM ]

2007-8-20 10:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

如果说EXCEL表不好用批处理导出的话,可不可以我手动先把XLS内容复制到TXT里,以每个TABLE为变量来导出呢?
@echo off&&setlocal EnableDelayedExpansion
Set Num=1
for /f "tokens=1,2,3,4 delims=        " %%a in (in.txt) do (
echo %%a>>!Num!.txt
echo %%b>>!Num!.txt
echo %%c>>!Num!.txt
echo %%d>>!Num!.txt
Set /a Num+=1
)
pause


2007-8-20 10:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flybird2020
初级用户





积分 103
发帖 52
注册 2007-4-13
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by slore at 2007-8-20 10:50 AM:
如果说EXCEL表不好用批处理导出的话,可不可以我手动先把XLS内容复制到TXT里,以每个TABLE为变量来导出呢?

@echo off&&setlocal EnableDelayedEx ...

谢谢slore兄的解答
那么我现在还有两个问题
1、每一条数据加一个“注释”,如第一条加“第一列”,第二条加“第二个”,这个能不能加上去?
第一列:1
第二个:6
第三格:9
最后个:4
2、可否用固定某一列做为文件名?
如在上例中,用6、C、二,做为文件的命名(6.txt,C.txt,二.txt)

表达的不是很清楚,希望slore兄能不吝赐教,谢谢了

[ Last edited by flybird2020 on 2007-8-20 at 11:12 AM ]

2007-8-20 11:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 4 楼』:  

用vba 好了

2007-8-20 21:04
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

@echo off&&setlocal EnableDelayedExpansion
for /f "tokens=1,2,3,4 delims=        " %%a in (in.txt) do (
echo 第一列:%%a>>%%b.txt
echo 第二个:%%b>>%%b.txt
echo 第三格:%%c>>%%b.txt
echo 最后个:%%d>>%%b.txt
)
pause

   此帖被 +1 点积分    点击查看详情   
评分人:【 flybird2020 分数: +1  时间:2007-8-21 09:10


2007-8-20 23:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
flybird2020
初级用户





积分 103
发帖 52
注册 2007-4-13
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by slore at 2007-8-20 11:41 PM:
@echo off&&setlocal EnableDelayedExpansion
for /f "tokens=1,2,3,4 delims=        " %%a in (in.txt) do (
echo 第一列:%%a>>%%b.txt
echo 第二个:%%b>>%%b.txt
...

slore兄,太厉害了
我还有很长的路要走
希望能在您身上学到更多
谢谢
谢谢

2007-8-21 09:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: