neu*_*242 165 git version-control diff merge xls
我们的源代码库中有很多电子表格(xls).这些通常使用gnumeric或openoffice.org进行编辑,主要用于使用dbUnit填充数据库进行单元测试.在我知道的xls文件上没有简单的方法来做差异,这使得合并非常繁琐且容易出错.
我试图将电子表格转换为xml并进行常规差异,但它确实感觉它应该是最后的手段.
我想像git处理文本文件一样执行diffing(和合并).我怎么做,例如发行时git diff?
Lau*_*ent 109
无需外部工具即可快速轻松地工作,只要您比较的两张纸相似:
=if(Sheet1!A1 <> Sheet2!A1, "X", "")左上角的单元格(或等效的:单击实际单元格以自动将引用插入到公式中)如果工作表相似,则此电子表格将为空,除了包含X的几个单元格,突出显示差异.取消缩放至40%以快速查看有何不同之处.
na_*_*_na 106
我们在公司遇到了完全相同的问题.我们的测试输出excel工作簿.二元差异不是一种选择.所以我们推出了自己的简单命令行工具.查看ExcelCompare项目.事实上,这使我们可以很好地自动化我们的测试.补丁/功能请求非常欢迎!
thv*_*hvo 12
我过去做过很多Excel工作簿的比较.我的技术适用于具有许多工作表的工作簿,但它只比较单元格内容,而不是单元格格式,宏等.此外,还涉及一些编码,但如果必须重复比较大量文件,这是值得的.以下是它的工作原理:
A)编写一个简单的转储程序,遍历所有工作表并将所有数据保存到制表符分隔的文件中.每个工作表创建一个文件(使用工作表名称作为文件名,例如"MyWorksheet.tsv"),并在每次运行程序时为这些文件创建一个新文件夹.在excel文件名后面命名文件夹并添加时间戳,例如"20080922-065412-MyExcelFile".我在Java中使用名为JExcelAPI的库来完成此操作.这真的很容易.
B)在右键单击Excel文件时,添加Windows外壳扩展以从步骤A运行新的Java程序.这使得运行该程序变得非常容易.您需要谷歌如何做到这一点,但它就像编写*.reg文件一样简单.
C)获得BeyondCompare.它有一个非常酷的功能,通过在一个漂亮的表中显示来比较分隔数据,请参见屏幕截图.
D)您现在可以轻松地比较Excel文件了.右键单击Excel文件1并运行转储程序.它将创建一个文件夹,每个工作表包含一个文件.右键单击Excel文件2并运行转储程序.它将创建第二个文件夹,每个工作表包含一个文件.现在使用BeyondCompare(BC)来比较文件夹.每个文件代表一个工作表,因此如果工作表中存在差异,BC将显示此信息,您可以向下钻取并进行文件比较.BC将以漂亮的表格布局显示比较,您可以隐藏您不感兴趣的行和列.
Sha*_*gla 11
您可以尝试这个免费的在线工具 - www.cloudyexcel.com/compare-excel/
它在线上提供了良好的视觉输出,包括添加,删除,更改等行.

另外,你不必安装任何东西.
小智 10
我找到了xdocdiff WinMerge插件.它是WinMerge的插件(OpenSource和Freeware,你不需要编写VBA也不需要将excel保存到csv或xml).它适用于celd的包含.
此插件还支持:
关注,安德烈斯
您是否使用TortoiseSVN进行颠覆的提交和更新?它有一个diff工具,但比较Excel文件仍然不是真正用户友好.在我的环境(Win XP,Office 2007)中,它打开了两个excel文件,用于并排比较.
右键单击文档> Tortoise SVN>显示日志>选择修订>右键单击"与工作副本比较".