# 来自开发者的一些话
Excel配置在团队开发中会遇到这样或者那样的冲突,人为操作导致这样或者那样的错误。这个工具旨以我当前的公司为标准开发的,旨在通过工具的方式来减少策划方面的人为错误。
另一方面,也是为了强化我自己在python的开发能力。
如果它对你有帮助,可以Clone或者Fork
如果你有好的方案和建议,可以在Issues中,留下你宝贵的评论,它会以邮箱的方式通知我。
Excel导出json的内容,后续会陆续的更新。
工具完成初期,可能会出现在测试中没有遇到的情况,初期还是希望大家在使用工具时,务必检查输出结果是否同自己的修改一致。当遇到非常规情况,或者问题时,需要将如图的三个文件(后缀为.r0000的文件为SVN的冲突文件)保存,程序调试需要这样的三个文件
![](https://tcs-ga.teambition.net/storage/111rd799b0e5c09f4f08ddfc117547a70d44?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NTYwNjQ1LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXJkNzk5YjBlNWMwOWY0ZjA4ZGRmYzExNzU0N2E3MGQ0NCJ9.6z4K_JC752OXLDc8TrS8lu5UzuXMU7s5-MDMzRQ6R4s&download=blob.png "")
# ExcelMergeTool
基于Excel和VBA输出Json的配置系统,基于Python,Openpy和SVN的Excel冲突解决系统
开发语言版本:Python 3.6.8
开发插件:openpyxl,Installer
工具Exe地址:ExcelMergeTool/dist/ExcelMerge.exe
# 功能简介:
远端和本地冲突的时候,检查并处理对同一sheet中不同数据检查区的修改,增加与删除的变更。检查并处理新增的非备注Sheet
## 基础概念:
![](https://tcs-ga.teambition.net/storage/111q827e0bc8c70787e29fb645d8bcd5c2df?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NTYwNjQ1LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXE4MjdlMGJjOGM3MDc4N2UyOWZiNjQ1ZDhiY2Q1YzJkZiJ9.JMATnEqbVE95jwdaLfWhJX_sEHvZ02lebmnSLMFDruY&download=blob.png "")
图
### 表头:
即用于设置Json字段名的区域。宽由Sheet有效宽度决定,高为第一列中第一个数据为数字的单元格行号(减去1)决定。
如果表头出现一下冲突,则跳过当前的sheet的合并处理。
- 相对位置的批注有变更
- 字段名字的修改
- 合并单元格信息出现变化,包括新增字段,删除字段,重新拆分或者合并单元格。
![](https://tcs-ga.teambition.net/storage/111r6ebbdb23cd2584230ec93ce11ee737b9?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NTYwNjQ1LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXI2ZWJiZGIyM2NkMjU4NDIzMGVjOTNjZTExZWU3MzdiOSJ9.8XwhMaIydULYfChUD7eQX0__ydM8yej2hXPe4xGEqVc&download=blob.png "")
### Sheet有效宽度:
由表头中最长且连续不为空的行决定,数值是该行最后一个不为空的单元格决定
### 数据检查区:
一个sheet会分为若干的检查区
检查区的确立的规则:第一列单元格或合并单元格的上下限,与表头的有效宽度,确立的一个矩形区域。如图a
如果遇到下面的冲突,则跳过当前的sheet的合并处理:
冲突双方出现同一id下的数据检查区都出现变更(增删改)的状态。
第一个使用版本中,公式的相对位置的变更会触发修改变更。
例:远端修改了id为2的数据检查区中的一个数值,本地在id为2检查区下新增了一行数据。
### 常规表结构:
![](https://tcs-ga.teambition.net/storage/111qf1a9cc03c819cf7ac0123ed3afe1c571?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NTYwNjQ1LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXFmMWE5Y2MwM2M4MTljZjdhYzAxMjNlZDNhZmUxYzU3MSJ9.ttd44ANhGn4I7dn9BHVy3suceqDgDVA4wbYS9upx4a4&download=blob.png "")
### 一级合并单元格表结构:
![](https://tcs-ga.teambition.net/storage/111qc70d10d224409dbb102a9d0d0677b2a9?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NTYwNjQ1LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXFjNzBkMTBkMjI0NDA5ZGJiMTAyYTlkMGQwNjc3YjJhOSJ9.LbsTPnnzdMx_4RFjRVDl5KKDkk031YtdlcmQeNu6sKo&download=blob.png "")
### 二级合并单元格表结构:
![](https://tcs-ga.teambition.net/storage/111q9b75a210269dad0a37b97a373674bd78?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NTYwNjQ1LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXE5Yjc1YTIxMDI2OWRhZDBhMzdiOTdhMzczNjc0YmQ3OCJ9.V1bIzSk-DhmkWeHSYF7a8uDz21TdWp_wqiZgHPpxaec&download=blob.png "")
# 注意事项(务必阅读):
### 正常关闭的操作以及异常关闭的恢复:
合并流程会创建3个临时文件,程序结束时需要恢复状态,删除3个文件。关闭程序的方式应当是在结束后,只有在窗口内输入任意键,程序才能自己恢复原始状态。
异常退出的后果,会导致下一次的合并操作无法正常进行,亦或是合并逻辑错误。
异常退出后需要采用手动方案来删除临时文件。即删除 *_合并工具日志文件.txt,*_copy_here1.xlsm,*_copy_here2.xlsm 三个文件
![](https://tcs-ga.teambition.net/storage/111r222f22502a3e5a1aba6a326e04a23c10?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NTYwNjQ1LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXIyMjJmMjI1MDJhM2U1YTFhYmE2YTMyNmUwNGEyM2MxMCJ9.KMkg1_teItzye8UU2eE5teNrRD-Q2ePDTIbXLidcEHY&download=blob.png "")
![](https://tcs-ga.teambition.net/storage/111r7a6c9b30ff6e1eded57e3e474a5d8a4b?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NTYwNjQ1LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXI3YTZjOWIzMGZmNmUxZWRlZDU3ZTNlNDc0YTVkOGE0YiJ9.SGgD1X33DhG10EB47giCb2HHXwuuMqrzh05NVCq2Aq8&download=blob.png "")
### 程序运行需要关闭相关文件
以Character.xlsm为例子,程序在运行时,请务必关闭以下6个文件,有可能导致程序异常退出,如果遇到异常退出的情况,请按照【正常关闭的操作以及异常关闭的恢复】操作处理解决
![](https://tcs-ga.teambition.net/storage/111reed0301254005f9916a4b41ff0516bd6?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NTYwNjQ1LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXJlZWQwMzAxMjU0MDA1Zjk5MTZhNGI0MWZmMDUxNmJkNiJ9.D_Eehei0RIK38SpKPwt-FecQZymtSCWsmZBDLLo8Fjg&download=blob.png "")
### 检查区域之外的数据有可能会丢失
由于新增和删除的处理是新增和删除行,故有可能会误删有效区域外的信息。
合并处理,不出检查和判断有效区域外的内容如下图,故不建议在有效区域外填写解释性的文字。
![](https://tcs-ga.teambition.net/storage/111q5270a4b18c59e91c8903ff6cf5ede71f?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTU4NjE2NTQ0NSwiaWF0IjoxNTg1NT
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计:基于Python,Openpy和SVN的Excel冲突解决系统(Excel和VBA输出Json的配置系统).zip (58个子文件)
Graduation Design
Excel
Test.xlsm 17KB
Base.xlam 107KB
ExcelMergeTool
__init__.py 1B
InstallDependent.py 223B
dist
ExcelMerge.exe 5.96MB
SuperPack.bat 467B
DebugCacheFile
Mine.xlsm 861KB
Base.xlsm 920KB
Their.xlsm 923KB
MaxTest
Mine.xlsm 5.26MB
Base.xlsm 4.55MB
Their.xlsm 4.55MB
Cache
Mine.xlsm 952KB
Base.xlsm 748KB
Their.xlsm 1.18MB
scr
__init__.py 1B
ReadOnlyReader
ReadOnlyExcelRead.py 1KB
__init__.py 1B
ReadOnlySheetReader.py 5KB
CheckFormula.py 515B
Reader
__init__.py 1B
ExcelMergeMain.py 9KB
SheetReader.py 16KB
ExcelReader.py 2KB
CompareSheetReader.py 11KB
__pycache__
ExcelMergeMain.cpython-36.pyc 5KB
CompareSheetReader.cpython-36.pyc 6KB
SheetReader.cpython-36.pyc 9KB
ExcelMergeMain.cpython-37.pyc 5KB
ExcelReader.cpython-37.pyc 2KB
ExcelReader.cpython-36.pyc 2KB
SheetReader.cpython-37.pyc 9KB
__init__.cpython-37.pyc 144B
__init__.cpython-36.pyc 140B
CompareSheetReader.cpython-37.pyc 6KB
Helper
__init__.py 1B
CopyHelper.py 2KB
LogFileHelper.py 688B
CompareBounds.py 2KB
DebugHelper.py 3KB
__pycache__
CopyHelper.cpython-37.pyc 2KB
LogFileHelper.cpython-36.pyc 874B
CompareBounds.cpython-36.pyc 2KB
DebugHelper.cpython-37.pyc 3KB
CopyHelper.cpython-36.pyc 2KB
SheetCopy.cpython-37.pyc 1KB
__init__.cpython-37.pyc 144B
DebugHelper.cpython-36.pyc 3KB
LogFileHelper.cpython-37.pyc 878B
__init__.cpython-36.pyc 140B
SheetCopy.cpython-36.pyc 1KB
CompareBounds.cpython-37.pyc 2KB
SheetCopy.py 2KB
__pycache__
__init__.cpython-37.pyc 137B
__init__.cpython-36.pyc 133B
MergeToolApp.py 2KB
DebugMain.py 2KB
README.md 17KB
共 58 条
- 1
资源评论
学术菜鸟小晨
- 粉丝: 1w+
- 资源: 4940
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python 程序语言设计模式思路-创建型模式:原型模式:通过复制现有对象来创建新对象,面向对象编程
- 卸载软件geek卸载软件geek
- Python 程序语言设计模式思路-创建型模式:单例模式,确保一个类的唯一实例(装饰器)面向对象编程、继承
- skywalking-plugins.jar skywalking-alarm.jar
- 独栋别墅图纸D020-两层-10.00&11.00米- 施工图.dwg
- Python 程序语言设计模式思路-创建型模式:工厂模式,创建对象的统一接口,封装对象的创建逻辑
- python自学教程-05-json数据格式的介绍.ev4.rar
- python自学教程-04-自定义JavaScript.ev4.rar
- 《淘宝后台系统...》
- skywalking-plugins.jar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功