Git友好的电子表格格式?[关闭]


35

我们正在尝试将项目文档流程从Google文档移至一组自托管的Git存储库。

文本文档对Git足够友好,因为我们通常不需要任何精美的格式,因此我们仅将所有内容转换为multimarkdown,并可以在复杂情况下嵌入LaTeX。

但是电子表格的故事大不相同...是否有一种类似于版本控制系统的扩展格式(最好与Markdown一样易于阅读)?

“友好格式”:Git与格式兼容(不适用于XML),并且生成易于理解的差异(可以进行涉及外部工具的额外配置)。

显然,Markdown风格允许建立静态表,但我希望能够使用诸如此类的东西SUM()(请注意CSV也存在相同的问题。)没有所见即所得的功能,但是可以提供不错的编辑器/工具支持很好

更新:请仅提供Linux友好的答案。没有MS Office资料。


2
确切地说,“ git-friendly”是什么意思?我还没有使用过git,但是它可以很好地处理二进制文件,并且可以像对待任何文本文件一样对它们进行版本控制和标记。他们只是无法区分,但这可能不是必需的。
Thomas Owens

友好的:我可以查看差异并轻松找出更改的内容。更新了问题以反映这一点。如果配置正确,BTW,AFAIR,Git可以显示某些二进制格式的差异(当然,借助外部工具)。
Alexander Gladysh

我不敢相信没有人问过您,但是为什么您需要将电子表格存储在项目存储库中?电子表格有什么用?通常它们足够复杂,以至于您需要在其他位置使用它们,并且通常由商务人士使用...
Rudolf Olah 2013年

2
该问题似乎与主题无关,因为它与编程无关。

尝试查找或创建适用于常规差异的全新格式的另一种方法是查找或创建工具以对常规电子表格进行差异化并产生文本输出。这就是开源ExcelCompare软件的功能,适用于Excel,OpenDocument等。这种查看问题的方式甚至适用于软件开发问答站点:)请参阅版本控制-如何区分两个电子表格?-堆栈溢出,软件本身位于na-ka-na / ExcelCompare
nealmcb 2014年

Answers:


12

您也可以使用纯XML格式的libreOffice / open-office-spreadsheet-non-zip-xml-fileformat“ * .fods”。@glenatron的注释也适用于此格式。

标准的开放式电子表格电子表格格式“ * .ods”为xml压缩文件,不太适合git(类似于@ Egryan / @ emuddudley答案)。


我想避免使用XML。更新了问题以反映这一点。
Alexander Gladysh 2013年

2
1. LibreOffice确实可以在Linux上运行。2.不,XML不是MS废话。但是,XML和Git不能很好地协同工作(请参见上面的@glenatron的评论)。
Alexander Gladysh 2013年

3
@LazyBadger:DiffDog:不支持Linux,开源,每用户500美元。抱歉,我会通过。
Alexander Gladysh 2013年

2
@AlexanderGladysh-混合,xmldiff或如何区分两个XML文件?SU主题
Lazy Badger

1
@LazyBadger:请注意,三向合并比diff-ing更重要。(但是Google找到了几种适用于XML的Linux命令行三向合并工具。)谢谢,我将针对LibreOffice电子表格进行尝试。
亚历山大·格拉迪什

7

这可能不适合您的需求,但可能适合其他人的需求。用于Emacs的Org-mode包括table.el,与Org-mode的特定增强功能一起,为电子表格提供了极为可靠的解决方案,全部为纯文本格式。更多信息(远远超出了本网站的范围)可从Org-mode的网站和手册中获得,尤其是其电子表格教程

在此处输入图片说明


4

什么pyspread?它功能强大,并带有漂亮的GUI。

根据“ 第一步”页面

pys文件格式已在0.2.0版中更改。现在,它是具有以下结构的bzip2-ed文本文件:

[Pyspread保存文件版本]

0.1

[形状]

1000 100 3

[网格]

7 22 0'Testcode1'

8 9 0'Testcode2'

[属性]

[] [] [] [] [(0,0)] 0'textfont'u'URW Chancery L'

[] [] [] [] [(0,0)] 0'pointsize'20

[row_heights]

0 0 56.0

7 0 25.0

[col_widths]

0 0 80.0

[宏]

宏文字

它是bzip2-ed的事实并没有帮助,但至少您可以访问一个易于阅读的文本。

许可证是GPLv3。


4

CSV(逗号分隔值)

如果您仅使用数据,则它可能是最简单且最常用的格式。

如果要在版本之间进行区分,应该使生活变得轻松。

哦,Google文档完全支持CSV导入/导出。

更新:

然后,只需编写Google Apps脚本即可在导出时对公式进行字符串化,并在导入时进行相反的处理。您需要使用一些独创性,因为您要查找的格式不存在。


2
不幸的是,CSV不支持公式这样的东西SUM()等等
亚历山大Gladysh

我更新了问题以明确地说出来。
Alexander Gladysh

1
@AlexanderGladysh,实际上我想说的是,如果您选择正确的格式,CSV可以很好地处理方程式,问题是您需要配置一个读取器以解析和评估这些方程式。
zzzzBov

Emacs csv模式可能是一个不错的工具。我也考虑使用Gnumerics进行轻量级的csv编辑。尚未尝试这些。
Brady Trainor 2014年

1

我知道Microsoft Office 2007和更高版本在保存时默认使用提示性xml格式。因此,这对于Git应该是友好的。如果您想使用更开放的源代码解决方案,Open Office还会保存为xml格式。由于XML是文本格式,因此git应该能够很好地处理它

由于您是从Google文档中移出它,因此您可以下载包含基于XML的开放文档。

编辑

由于您需要的是非Microsoft / XML解决方案,因此您始终可以在开放式办公室中保存CSV,尽管我不确定通过保存为这种格式会损失多少功能。


3
我已经看到Git的一些问题,他们不同意XML格式或以与文档格式不兼容的方式合并它们。我相信可以通过使用特定于XML的合并工具来解决此问题,但是我还没有看到这种用法。
glenatron 2013年

4
Excel工作簿(* .xlsx)格式是ZIP容器中XML文件的集合。您可以选择XML Spreadsheet 2003(* .xml)保存到单个XML文件中,但是它仅支持Excel功能的一部分。
M. Dudley

1
按照上面的@glenatron注释,XML不会这样做(我自己也有这样的问题)。另外:XML差异不是人类可读的IMO。更新了问题以反映这一点。
Alexander Gladysh 2013年

嗯,CSV不支持任何公式内容。然后,我可以使用Markdown的表。更新了问题以反映这一点。
Alexander Gladysh 2013年

0

这可能与您想要的不完全一样,我相信libre office可让您引用外部文件。您可以拥有一个像数据库一样对待的电子表格,并有一个静态的libre文件作为您的界面。除非您回叫它们,否则您将无法轻松访问已版本化文件中的摘要。

另一个相当大的问题是它是一个方向性的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.