中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 再来提问xls文件对比处理的问题,vbs,bat都行
作者:
标题: 再来提问xls文件对比处理的问题,vbs,bat都行 上一主题 | 下一主题
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『楼 主』:  再来提问xls文件对比处理的问题,vbs,bat都行 使用 LLM 解释/回答一下

本来想在上次那个帖子里提问的,但是原帖好像给删了,找不到。只好重开一贴。

比较两个文件。

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 ]


2010-4-10 16:37
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

将两个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 ]




批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-4-10 20:09
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

BAT不适合操作xls文件,学学VBS吧。




2010-4-10 20:45
查看资料  发短消息  网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

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


2010-4-10 20:55
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
loquat
初级用户





积分 81
发帖 80
注册 2009-8-30
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

“上海立信长江会计师事务所有限公司”和“立信会计师事务所有限公司”也应该是同一个公司。


2010-4-10 21:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下

Originally posted by Hanyeguxing at 2010-4-10 20:09:
将两个xls文件用excel 打开,复制有效内容到a.txt和b.txt中。
注意,批脚本中set "a= "里出现的连续空格实际是一个制表符。
@echo off&setloc ... 


另存为CSV更好一些。





有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2010-4-11 22:37
查看资料  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: