有没有基于Linux的Excel文件比较工具?

问题描述 投票:0回答:4

我正在做的项目使用Bitkeeper进行版本控制。 我正在开发一项新功能,其中涉及将 Excel 电子表格中的定义(由架构师编辑)转换为可执行代码(到目前为止一直由程序员手动完成)。 此 Excel 文件必须是代码存储库的一部分,因为不同的分支可能有不同的定义,最终必须合并。

Bitkeeper 在合并文本文件方面做得很好。 然而,Excel 电子表格是二进制文件,Bitkeeper 不知道如何处理。 Bitkeeper 确实使我能够使用外部工具(即 Bitkeeper 外部的工具)合并更改。 我正在寻找一个在 Linux 中工作的 diff 工具,可以比较和合并 Excel 电子表格。

有什么工具可以做到这一点吗?

linux excel version-control diff
4个回答
3
投票

.xlsx 只不过是 XML 文件的压缩集合,您可以解压缩它们,然后比较文件。 例如

unzip test.xlsx -d unzipped


0
投票

你必须做出我所知道的选择。您可以将文件转换为 .csv 文本文件并使用 awk/sed 等解析文件,也可以使用您选择的编程语言打开和修改电子表格。 例如,Python 有 Excel 模块 - http://www.python-excel.org/


0
投票

你可以使用“xls_diff -diff xls1 xls2”


0
投票

如何使用

meld
为 Excel 文件
a.xlsx
b.xslx 创建差异:

# Extract the contents of the excel files:
unzip a.xlsx -d a-contents
unzip b.xlsx -d b-contents

# Compare the two folders:
meld a-contents/ b-contents/

就我而言,它看起来像这样:

enter image description here

您可以看到

app.xml
core.xml
有差异并进行比较。

xlsx格式最重要的部分:

  • app.xml
    :有关创建应用程序的元数据;大多不有趣
  • core.xml
    :有关文档的元数据,例如作者、创建程序、创建时间
  • xl/
    :所有数据,包括图表,尤其是工作表
© www.soinside.com 2019 - 2024. All rights reserved.