楼 主
如何用批处理将TXT文件直接转换成XLS文件
发表于 2007-02-24 00:29 · 中国 安徽 马鞍山 电信
中级用户
★★
积分 493 发帖 228 注册 2007-02-16 00:38 19年会员 UID 79596 性别 男 来自 安徽
状态 离线
如何用批处理将TXT文件直接转换成XLS文件
report.txt
1 13 45 0 4500 15615
2 13 45 0 4500 15600
3 26 255 0 25500 15601
4 18 81 0 8100 15602
5 29 188 0 18800 15605
6 25 150 0 15000 15606
7 84 333 12 33900 15609
8 20 105 1 10550 15610
9 26 128 0 12800 15611
10 14 149 0 14900 15612
11 5 33 0 3300 15613
12 0 0 0 0 15616
13 48 190 16 19800 15617
14 321 1702 29 171650
[
Last edited by xycoordinate on 2007-2-23 at 11:34 AM ]
第 2 楼
发表于 2007-02-24 00:47 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
第 3 楼
发表于 2007-02-24 01:32 · 中国 吉林 四平 联通
高级用户
★★★
积分 859 发帖 413 注册 2006-08-14 21:55 19年会员 UID 60532
状态 离线
第 4 楼
发表于 2007-02-24 01:34 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
第 5 楼
发表于 2007-02-24 01:34 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 20年会员 UID 44210
状态 离线
现在没时间写代码,给你一个思路:
先将双空格替换为单空格,再将单空格替换为{TAB}+单空格({TAB}:制表符)
然后直接用 Excel 打开该 TXT 文件
第 6 楼
发表于 2007-02-24 01:53 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
看了本来有的xls文档,貌似不是纯文本样子……
那就5楼的模拟输入咯。。。
第 7 楼
发表于 2007-02-24 02:40 · 中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212 发帖 2,478 注册 2007-02-08 23:39 19年会员 UID 79003 性别 男
状态 离线
脚本可以引用这个对象Excel.Application
第 8 楼
发表于 2007-02-24 02:50 · 中国 宁夏 银川 电信
金牌会员
★★★★
积分 4,103 发帖 1,744 注册 2006-01-20 13:00 20年会员 UID 49241 性别 男 来自 甘肃.临泽
状态 离线
第 9 楼
发表于 2007-02-24 03:20 · 美国 缅因州
中级用户
★★
积分 316 发帖 152 注册 2006-06-18 13:01 20年会员 UID 57204 性别 男
状态 离线
sed "s/^*//;s/\+/\t/g" report.txt> result.xls
sed的下载和使用请用"sed"搜索本论坛
[ Last edited by amao on 2007-2-24 at 03:22 AM ]
第 10 楼
发表于 2007-02-24 03:27 · 中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181 发帖 533 注册 2006-08-14 12:54 19年会员 UID 60484
状态 离线
如果隔着空格或TAB或逗号,倒是可以直接用EXCEL打开TXT文件,EXCEL会问你如何分隔。
PS:按TAB键分隔好,复制到剪贴板,再打开EXCEL粘贴,倒也可行,如果这样的话要用VBS了。
第 11 楼
发表于 2007-02-24 03:56 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 20年会员 UID 44210
状态 离线
生成的“test.xls”可以直接用 Excel 打开
@echo off
setlocal EnableDelayedExpansion
cd.>test.xls
for /f "delims=" %%n in (test.txt) do (
set "str=%%n"
set "str=!str: = !"
set "str=!str: ={TAB} !"
echo !str!
>>test.xls echo !str!
)
pause
{TAB}:键盘TAB制表符
PS:你的数据最后一行“14 321 1702 29 171650 ”是不是有问题,少了第三个数据?
[
Last edited by zh159 on 2007-2-23 at 06:16 PM ]
第 12 楼
发表于 2007-02-24 09:38 · 中国 安徽 马鞍山 电信
中级用户
★★
积分 493 发帖 228 注册 2007-02-16 00:38 19年会员 UID 79596 性别 男 来自 安徽
状态 离线
Originally posted by zh159 at 2007-2-23 02:56 PM:
生成的“test.xls”可以直接用 Excel 打开
@echo off
setlocal EnableDelayedExpansion
cd.>test.xls
for /f "delims=" %%n in (test.txt) do (
set "str=%%n"
set "str=!str: = !"
set "str=!str: ={TAB} !"
echo !str!
>>test.xls echo !str!
)
pause
先将双空格替换为单空格,再将单空格替换为{TAB}+单空格({TAB}:制表符)
谢谢!!!
NNNNNN!!!!!!!!!!!!!
还有:
cd.>test.xls
set "str=!str: = !"
set "str=!str: ={TAB} !"
意思不太明白???
是这个吗?
set /?
环境变量替换已如下增强:
%PATH:str1=str2%
会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。
要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。
"str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的
开始到 str1 剩余部分第一次出现的地方,都一直保持相配。
我直接用tab分割列就OK了!!!!
20070131.txt如下格式,直接更改扩展名为xls,就能如我愿了!!!
1 13 45 0 4500 15615
2 13 45 0 4500 15600
3 26 255 0 25500 15601
4 18 81 0 8100 15602
5 29 188 0 18800 15605
6 25 150 0 15000 15606
7 84 333 12 33900 15609
8 20 105 1 10550 15610
9 26 128 0 12800 15611
10 14 149 0 14900 15612
11 5 33 0 3300 15613
12 0 0 0 0 15616
13 48 190 16 19800 15617
14 321 1702 29 171650
[
Last edited by xycoordinate on 2007-2-23 at 10:53 PM ]
第 13 楼
发表于 2007-02-24 09:39 · 中国 宁夏 银川 电信
金牌会员
★★★★
积分 4,103 发帖 1,744 注册 2006-01-20 13:00 20年会员 UID 49241 性别 男 来自 甘肃.临泽
状态 离线
第 14 楼
发表于 2007-02-24 10:46 · 中国 广西 贵港 电信
高级用户
★★
学无尽止
积分 635 发帖 244 注册 2006-04-15 05:07 20年会员 UID 53857 性别 男 来自 广西贵港
状态 离线
呵呵,这样也简单哈`````
@echo off
type report.txt echo >>report.xls
学无尽止
第 15 楼
发表于 2007-02-24 11:43 · 中国 安徽 马鞍山 电信
中级用户
★★
积分 493 发帖 228 注册 2007-02-16 00:38 19年会员 UID 79596 性别 男 来自 安徽
状态 离线
Originally posted by chainliq at 2007-2-23 09:46 PM:
呵呵,这样也简单哈`````
@echo off
type report.txt echo >>report.xls
F:\>type report.txt echo >>report.xls
report.txt
系统找不到指定的文件。
处理: echo 时出错。
为何会报错?????
report.xls倒是生成了,但是格式不对!!!
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正