标题: 再来提问xls文件对比处理的问题,vbs,bat都行
[打印本页]
作者: loquat
时间: 2010-4-10 16:37
标题: 再来提问xls文件对比处理的问题,vbs,bat都行
本来想在上次那个帖子里提问的,但是原帖好像给删了,找不到。只好重开一贴。
比较两个文件。
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 世纪星源 深圳鹏城会计师事务所 标准无保留意见 利安达信隆会计师事务所 标准无保留意见
一下几个统一标示便于编写批处理
Quote: |
标准无保留意见记为0;带强调事项段的无保留意见记为1;无法表示意见记为2;保留意见记为3;否定意见记为4;未披露审计意见类型记为5;--记为6. |
|
[
Last edited by loquat on 2010-4-10 at 16:40 ]
作者: Hanyeguxing
时间: 2010-4-10 20:09
将两个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/view ... hlight=%2Bloquat###
[
Last edited by Hanyeguxing on 2010-4-10 at 20:34 ]
作者: HAT
时间: 2010-4-10 20:45
BAT不适合操作xls文件,学学VBS吧。
作者: loquat
时间: 2010-4-10 20:55
Quote: |
Originally posted by Hanyeguxing at 2010-4-10 20:09:
将两个xls文件用excel 打开,复制有效内容到a.txt和b.txt中。
注意,批脚本中set "a= "里出现的连续空格实际是一个制表符。
[code]@echo off&setloc ... |
|
代码可能还需要加一个判断。原来的数据里“深圳鹏城会计师事务所”“深圳市鹏城会计师事务所有限公司”应该是同一家公司。
000007 ST达声 深圳鹏城会计师事务所 0 深圳市鹏城会计师事务所有限公司 0
作者: loquat
时间: 2010-4-10 21:00
“上海立信长江会计师事务所有限公司”和“立信会计师事务所有限公司”也应该是同一个公司。
作者: yishanju
时间: 2010-4-11 22:37
Quote: |
Originally posted by Hanyeguxing at 2010-4-10 20:09:
将两个xls文件用excel 打开,复制有效内容到a.txt和b.txt中。
注意,批脚本中set "a= "里出现的连续空格实际是一个制表符。
[code]@echo off&setloc ... |
|
另存为CSV更好一些。