Format tableur convivial pour Git? [fermé]

35

Nous essayons de déplacer notre processus de documentation de projet de Google Documents vers un ensemble de référentiels Git auto-hébergés.

Les documents texte sont assez compatibles avec Git, car nous n’avons généralement pas besoin d’un formatage sophistiqué, nous allons simplement tout convertir, par exemple, en multimarkdown avec une option pour incorporer LaTeX dans des cas complexes.

Mais les feuilles de calcul sont une histoire assez différente ... Existe-t-il un format semblable à celui utilisé par les systèmes de contrôle de version (et, de préférence, aussi lisible que Markdown)?

"Format convivial": Git fonctionne bien avec le format ( pas avec XML) et génère des différences lisibles par l'homme (la configuration supplémentaire impliquant des outils externes est OK).

De toute évidence, les versions de Markdown permettent de construire des tables statiques, mais j'aimerais pouvoir utiliser des éléments tels que SUM()etc ... agréable.

Mise à jour: réponses compatibles avec Linux uniquement, s'il vous plaît. Pas de trucs MS Office.

Alexander Gladysh
la source
2
Qu'entendez-vous exactement par "convivial"? Je n'ai pas beaucoup utilisé git, mais il gère très bien les fichiers binaires et ils peuvent être versionnés et étiquetés comme n'importe quel fichier texte. Ils ne peuvent tout simplement pas être différenciés, mais cela peut ne pas être nécessaire.
Thomas Owens
Sympathique: je peux voir les différences et comprendre facilement ce qui a changé. Mise à jour de la question pour refléter cela. BTW, AFAIR, git, lorsqu'il est correctement configuré, peut afficher des différences pour certains formats binaires (à l'aide d'outils externes, bien sûr).
Alexander Gladysh
Je ne peux pas croire que personne ne vous l’ait demandé, mais pourquoi avez-vous besoin de stocker des feuilles de calcul dans le référentiel de projet? à quoi servent les feuilles de calcul? en général , ils sont assez complexes que vous en avez besoin dans un endroit différent et ils sont généralement utilisés par les gens d'affaires ...
Rudolf Olah
2
Cette question semble être hors sujet car elle n'est pas liée à la programmation.
Une alternative à la recherche ou à la création d'un tout nouveau format adapté aux différences régulières consiste à rechercher ou à créer un outil permettant de comparer des feuilles de calcul régulières et de générer du texte. C’est ce que fait le logiciel open source ExcelCompare, pour Excel, OpenDocument, etc. Et cette façon de voir la question convient même à un site de questions-réponses sur le développement logiciel :) Voir le contrôle de version - Comment différencier deux feuilles de calcul? - Stack Overflow et le logiciel lui-même est à na-ka-na / ExcelCompare
nealmcb

Réponses:

12

Vous pouvez également utiliser libreOffice / open-office-tableur-non-zip-xml-fileformat "* .fods", qui est un fichier XML pur. Le commentaire de @glenatron s'applique également à ce format.

Le format de feuille de calcul standard ouvert "* .ods" est compressé au format XML et ne convient donc pas à git (similaire à @ Egryan / @ emuddudley answer).

k3b
la source
Je voudrais éviter XML. Mise à jour de la question pour refléter cela.
Alexander Gladysh
2
1. LibreOffice fonctionne sur Linux, en effet. 2. Non, XML n'est pas une connerie MS . Cependant, XML et Git ne fonctionnent pas bien ensemble (voir le commentaire de @ glenatron ci-dessus).
Alexander Gladysh
3
@LazyBadger: DiffDog: pas de support Linux, source fermée, 500 $ / utilisateur. Désolé, mais je vais passer.
Alexander Gladysh
2
@AlexanderGladysh - Meld, xmldiff ou Comment puis-je comparer deux fichiers XML? Sujet sur SU
Lazy Badger
1
@LazyBadger: Notez que la fusion à 3 voies est plus importante que la différence. (Mais Google trouve plusieurs outils de fusion à trois voies appropriés en ligne de commande Linux pour XML.) Je vais essayer ces outils avec les feuilles de calcul LibreOffice, merci.
Alexander Gladysh
7

Cela peut ne pas répondre à vos besoins, mais peut convenir à un autre. Org-mode pour Emacs inclut table.el, qui, avec les améliorations particulières apportées à Org-mode, fournit une solution extrêmement robuste pour les feuilles de calcul, le tout en texte brut. Plus d'informations (beaucoup plus que la portée de ce site) sont disponibles sur le site Web et le manuel d' Org-mode , notamment son didacticiel sur les feuilles de calcul .

entrez la description de l'image ici

Sean Allred
la source
4

Qu'en est-il de Pyspread ? C'est puissant et vient avec une belle interface graphique.

Selon la page des premières étapes :

Le format de fichier pys a changé dans la version 0.2.0. C'est maintenant un fichier texte bzip2-ed avec la structure suivante:

[Version du fichier de sauvegarde Pyspread]

0,1

[forme]

1000 100 3

[la grille]

7 22 0 'Testcode1'

8 9 0 'Testcode2'

[les attributs]

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

[] [] [] [] [(0, 0)] 0 'taille en points' 20

[row_heights]

0 0 56.0

7 0 25,0

[largeur_col]

0 0 80.0

[macros]

Texte macro

Le fait qu'il s'agisse de bzip2-ed n'aide pas, mais au moins, vous pouvez accéder à un texte assez lisible.

La licence est GPLv3.

Clement J.
la source
4

CSV (valeurs séparées par des virgules)

Si vous travaillez uniquement avec des données, c'est probablement le format le plus simple et le plus couramment pris en charge.

Devrait rendre la vie facile si vous voulez différer entre les versions.

Oh, et Google Docs prend en charge l’importation / exportation au format CSV.

Mise à jour:

Il vous suffit ensuite d’écrire un script Google Apps pour hiérarchiser les formules lors de l’exportation et inversement. Vous devrez faire preuve d'ingéniosité, car le format que vous recherchez n'existe pas.

Evan Plaice
la source
2
Malheureusement, le format CSV ne prend pas en charge les formules telles que celle-ci, SUM()etc.
Alexander Gladysh
J'ai mis à jour la question pour le dire explicitement.
Alexander Gladysh
1
@ AlexanderGladysh, en fait, je dirais que CSV peut très bien gérer les équations si vous choisissez le bon format. Le problème est que vous devez configurer un lecteur de sorte qu'il analyse et évalue ces équations.
zzzzBov
Emacs csv-mode pourrait être un bon outil. Je considère également Gnumerics pour l’édition csv légère. Je n'ai pas encore essayé beaucoup.
Brady Trainor
1

Je sais que Microsoft Office 2007 et les versions plus récentes utilisent un format XML propitiatoire lors de la sauvegarde. Cela devrait donc être amical pour Git. Open Office enregistre également au format XML si vous souhaitez utiliser une solution plus open source. Puisqu’un XML est un format de texte, git devrait pouvoir le gérer assez bien.

Comme vous le déplacez de Google Documents, vous pouvez les télécharger avec des documents ouverts basés sur XML.

modifier

Puisque vous souhaitez une solution non Microsoft / XML, vous pouvez toujours enregistrer un fichier CSV en open office, bien que je ne sache pas combien de fonctionnalités vous perdez en enregistrant dans ce format.

Egryan
la source
3
J'ai rencontré des problèmes lorsque Git n'était pas d'accord avec les formats XML ou qu'il était impossible de les fusionner d'une manière non conforme au format du document. Je crois que cela peut être contourné en utilisant un outil de fusion spécifique à XML, mais je ne l'ai pas encore vu utilisé.
Glenatron
4
Le format Excel Workbook (* .xlsx) est un ensemble de fichiers XML contenus dans un conteneur ZIP. Vous pouvez choisir XML Spreadsheet 2003 (* .xml) pour enregistrer dans un seul fichier XML, mais cela ne prend en charge qu'un sous-ensemble des fonctionnalités d'Excel.
M. Dudley
1
XML ne ferait pas, comme le commentaire @glenatron ci-dessus (j'ai moi-même eu de tels problèmes). En outre: les différences XML ne sont pas tout à fait lisibles par l’OMI. Mise à jour de la question pour refléter cela.
Alexander Gladysh
Le format CSV ne prend en charge aucune formule. Je peux juste utiliser les tables de Markdown alors. Mise à jour de la question pour refléter cela.
Alexander Gladysh
0

Ce n'est peut-être pas ce que vous voulez, je pense que libre office vous permet de faire référence à des fichiers externes. Vous pourriez avoir une feuille de calcul que vous traitez comme une base de données et un fichier libre statique qui serait votre interface. Vous perdriez la somme des accès faciles dans vos fichiers versionnés à moins que vous ne les rappeliez, mais cela fonctionnerait.

Un autre problème assez important avec ceci serait que c'est une direction.

Jpatrick
la source