之前写了一个导数据库调服务并且对比的工具,经过优化之后发现对比起来还挺好用,在此分享给大家(工具进行了阉割,只分享对比功能)
目录
若工具有bug请留言。若有工具需求请留言,简单的需求可以抽空实现
一、工具免费下载链接
【20230201】更新内容:
1、修改CMD启动配置引用错误
2、规则编辑支持表格模式下编辑
3、对比增加对CSV文件的对比功能,目前支持对比的文件 xls,xlsx,xlsm,csv
【20230217】更新内容:
1、规则编辑界面优化
2、忽略规则支持“所有表”名称规则,会和其他同时生效
3、规则匹配规则优化:优先使用匹配到的最长表名规则
4、修复其他已知bug
【20230310】更新内容:
修复影响对比的bug
1、修改bug:对比双方只有一个sheet存在数据时,对比有报错
2、兼容部分CSV使用gbk打开会编码报错(忽略报错)
3、修改bug:创建sheet长度超过31报错
【20230606】更新内容:
1、优化规则编辑页面,支持多个快捷键操作
2、对比规则增加至5个
【20230704】更新内容:
1、修改bug:多进程模式下,忽略差异字段存在场景失效
2、忽略字段规则,表头支持以[空表头]代表无表头的列进行忽略
【20241209】更新内容:
修改bug:
1、多进程对比提示找不到mate4_excle_keylist报错
2、csv提示gbk格式报错(仍然以gbk读取csv,但是忽略报错)
二、工具和使用介绍
1、主界面
路径选择:选择2个对比文件夹和一个结果文件夹(2个对比目录有记忆功能,选择后记录过往历史,最大20个)
在结果目录内创建子目录勾选:不勾选时,每次对比清空结果目录,结果直接存放在此目录;勾选时,不清空并在结果目录创建以时间命名的子目录进行存放(会截取对比目录最后一个‘_’符号后文件作为文件夹后缀)
开始对比:点击开始对比启动对比线程,并且按钮变为结束对比,可以中止对比流程
2、通用设置
自动更新:自动更新是在局域网使用的,该分享版本已关闭自动更新功能
对比设置:一些对比设置项目
保留成功行:存在差异的Excel文件,对比成功的行是否要在结果中保留
忽略差异表头:存在差异表头,算成功还是失败?
自动打开结果目录:对比结束后,若存在差异自动打开对比结果目录
多进程对比:当Excel文件又大又多时,可以使用对进程对比功能提高对比速度。多进程对比消耗电脑CPU和内存较高,默认最大使用3个进程对比。(文件较小时不推荐开启,因为创建进程的时间比对比时间还长)(多进程按照文件从大到小开始比对)
多进程对比设置:可以设置多进程最大对比进程数(电脑性能好的可以改大点)
背景颜色:可以修改窗口背景颜色,然并卵
3、辅助功能---编辑对比规则
工具提供了Excel规则编辑功能,可以自由编辑匹配规则和字段忽略规则
规则有4个:比对忽略规则、对比行匹配规则1、对比行匹配规则2、对比行匹配规则3
规则匹配逻辑如下:
①优先以Excel的sheet名匹配规则,若名称包含在规则表名中,代表使用该规则
②sheet未匹配上再次使用Excel表名匹配
③每个sheet都会进行以上匹配
规则使用如下:
①比对忽略规则,代表这些字段比对有差异需要忽略差异
②对比行匹配规则1,优先以这些字段进行匹配,这些表头字段值都一致的匹配进行对比
③对比行匹配规则2,规则1匹配剩余的行再次使用规则2进行匹配对比
④对比行匹配规则3,规则1和2匹配剩余的行再次使用规则3进行匹配对比
匹配规则123可以有严格到宽松,尽可能多得匹配行数据
4、对比结果展示
①第一列标明数据来源,目录号[源行号]
②白底的代表目录1数据并且无差异的
③黄底的代表目录2数据并且无差异的
④红底的代表对比有差异的字段
⑤紫底的代表表头不一致的列数据
⑥蓝底的代表目录1未匹配的数据
⑦绿底的代表目录2未匹配的数据
5、其他
①支持CMD启动对比,对比结束自动关闭工具
cmd: Excel对比工具.exe 对比目录1 对比目录2 结果目录
②工具配置和对比规则都是以json文件格式保存
三、Excel对比流程介绍
1、遍历2个对比目录,过滤Excel文件(xls,xlsx,xlsm),忽略文件类型,以名称匹配(aaa.xls和aaa.xlsx可以进行比对)
2、未匹配上的文件直接复制到结果目录
3、匹配上的Excel文件,进行sheet名称匹配,sheet名称完全一致的进行比对,sheet名称不一致的复制数据到结果文件中
4、匹配对比规则文件,匹配上的使用规则比对,未匹配的按行比对
5、若存在差异,比对结果文件进行保存,无差异则无结果文件