中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 17:20
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 再来提问xls文件对比处理的问题,vbs,bat都行 查看 1,098 回复 5
楼 主 再来提问xls文件对比处理的问题,vbs,bat都行 发表于 2010-04-10 16:37 ·  中国 湖南 长沙 电信
初级用户
★★
积分 81
发帖 80
注册 2009-08-30 06:32
16年会员
UID 151201
性别 男
状态 离线
本来想在上次那个帖子里提问的,但是原帖好像给删了,找不到。只好重开一贴。

比较两个文件。

a.xls和b.xls的格式如下:
a.xls

A B C D
证券代码 证券名称 2005年报事务所 2005年报审计意见
000001 深发展A 深圳鹏城会计师事务所 标准无保留意见
000002 万科A 毕马威华振会计师事务所 标准无保留意见
000004 *ST国农 深圳鹏城会计师事务所 标准无保留意见
000005 世纪星源 深圳鹏城会计师事务所 标准无保留意见


b.xls
证券代码 证券名称 2006年报事务所 2006年报审计意见
000001 深发展A 深圳鹏城会计师事务所 标准无保留意见
000002 万科A 毕马威华振会计师事务所 标准无保留意见
000004 *ST国农 深圳鹏城会计师事务所 标准无保留意见
000005 世纪星源 利安达信隆会计师事务所 标准无保留意见

要求:
C项中“会计师事务所”如果变化了,把对应的ABCD项都复制到新txt文件里面。
txt格式如下:

A B C D E F
证券代码 证券名称 2005年报事务所 2005年报审计意见 2006年报事务所 2006年报审计意见
000005 世纪星源 深圳鹏城会计师事务所 标准无保留意见 利安达信隆会计师事务所 标准无保留意见


一下几个统一标示便于编写批处理
标准无保留意见记为0;带强调事项段的无保留意见记为1;无法表示意见记为2;保留意见记为3;否定意见记为4;未披露审计意见类型记为5;--记为6.


[ Last edited by loquat on 2010-4-10 at 16:40 ]
2 发表于 2010-04-10 20:09 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
将两个xls文件用excel 打开,复制有效内容到a.txt和b.txt中。
注意,批脚本中set "a= "里出现的连续空格实际是一个制表符。
@echo off&setlocal enabledelayedexpansion
set "a= "
for /f "tokens=1-4 delims=%a%" %%a in (a.txt) do set "%%a%%b=%%c"&set "%%a%%b_=%%d"
for /f "tokens=1-4 delims=%a%" %%a in (b.txt) do if not "!%%a%%b!"=="%%c" (set "b=%%a%a%%%b%a%!%%a%%b!%a%!%%a%%b_!%a%%%c%a%%%d"&set b=!b:标准无保留意见=0!&set b=!b:带强调事项段的无保留意见=1!&set b=!b:无法表示意见=2!&set b=!b:保留意见=3!&set b=!b:否定意见=4!&set b=!b:未披露审计意见类型=5!&set b=!b:--=6!&echo.!b!)>>寒夜孤星.txt


上一次的地址:http://www.cn-dos.net/forum/viewthread.php?tid=50720&fpage=1&highlight=%2Bloquat###

[ Last edited by Hanyeguxing on 2010-4-10 at 20:34 ]
3 发表于 2010-04-10 20:45 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
BAT不适合操作xls文件,学学VBS吧。
4 发表于 2010-04-10 20:55 ·  中国 湖南 长沙 电信
初级用户
★★
积分 81
发帖 80
注册 2009-08-30 06:32
16年会员
UID 151201
性别 男
状态 离线
Originally posted by Hanyeguxing at 2010-4-10 20:09:
将两个xls文件用excel 打开,复制有效内容到a.txt和b.txt中。
注意,批脚本中set "a= "里出现的连续空格实际是一个制表符。
@echo off&setloc ... 


代码可能还需要加一个判断。原来的数据里“深圳鹏城会计师事务所”“深圳市鹏城会计师事务所有限公司”应该是同一家公司。
000007 ST达声 深圳鹏城会计师事务所 0 深圳市鹏城会计师事务所有限公司 0
5 发表于 2010-04-10 21:00 ·  中国 湖南 长沙 电信
初级用户
★★
积分 81
发帖 80
注册 2009-08-30 06:32
16年会员
UID 151201
性别 男
状态 离线
“上海立信长江会计师事务所有限公司”和“立信会计师事务所有限公司”也应该是同一个公司。
6 发表于 2010-04-11 22:37 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
Originally posted by Hanyeguxing at 2010-4-10 20:09:
将两个xls文件用excel 打开,复制有效内容到a.txt和b.txt中。
注意,批脚本中set "a= "里出现的连续空格实际是一个制表符。
@echo off&setloc ... 


另存为CSV更好一些。

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
论坛跳转: