我很高兴地发现 Tortoise SVN diff 可以让我找到两个 excel 文件之间的差异。不同的单元格以红色突出显示。它适用于小型 excel 文件。
但是我的 Excel 表有数千行和相当多的列。
有没有办法可以快速找到发生变化的单元格(而不是慢慢滚动浏览每张工作表并找到突出显示的单元格,这很耗时且容易出错)?
答案1
要将其与 Tortoise Diff 结合使用,您需要将它们都导出为 CSV 并比较文件,这不是最理想的,但很有帮助。如果您有 Office Professional Plus 2013 或 Office 365 ProPlus您可以使用 Excel 比较功能。还有其他方法,但对于如此大的文件,可能不太实用,还有第三方工具,这里描述。
答案2
以下是这些说明展示如何用 Microsoft Office “ 替换 TortoiseSVN 对 Excel 电子表格的 diff 操作“电子表格比较”实用程序随 Office Professional Plus 2013、Office Professional Plus 2016、Office Professional Plus 2019 或 Microsoft 365 企业应用版提供。(电子表格比较比较所有工作表在两个工作簿中。
创建以下批处理脚本。我将其命名为
sc.bat
并存储在C:\Program Files (x86)\Microsoft Office\Office16\DCF
与可执行文件一起
SPREADSHEETCOMPARE.EXE
。(如果您没有权限写入该目录,请将其存储在其他位置,在这种情况下,您需要将第%~dp0
5 行更改sc.bat
为指向上述目录)。请注意,两个文件名%~1
和%~2
必须位于文本文件的不同行上,不带引号。)
@echo off set SCTEMP="%TEMP%\sctemp~%RANDOM%.txt" echo %~1 > "%SCTEMP%" echo %~2 >> "%SCTEMP%" "%~dp0\SPREADSHEETCOMPARE.EXE" "%SCTEMP%"
- 打开TortoiseSVN设置窗口(在任意目录上右键–>TortoiseSVN–>设置),选择左侧的“差异查看器”,点击右侧的“高级设置”按钮:
- 在打开的高级差异比较设置对话框中,转到扩展,单击[编辑],然后输入以下命令(如果您没有存储在目录中,
.xlsx
请更改目录):sc.bat
SPREADSHEETCOMPARE.EXE
C:\Program Files (x86)\Microsoft Office\Office15\DCF\sc.bat %base %mine
在三个对话框中都点击[确定]即可退出。
从此时起,当您使用 TortoiseSVN 比较文件时(例如,右键单击它并选择“差异”,或在提交对话框中双击它),您将调出 Microsoft 的电子表格比较实用程序。
答案3
一个想法:如果你能以基于文本的格式存储电子表格——例如.fods
——默认的差异工具就足够了。