Formato foglio di calcolo Git-friendly? [chiuso]


35

Stiamo provando a spostare il nostro processo di documentazione del progetto da Google Documents a una serie di repository Git self-hosted.

I documenti di testo sono abbastanza adatti a Git, dal momento che di solito non abbiamo bisogno di alcuna formattazione elaborata, convertiremo tutto in, diciamo, multimarkdown con un'opzione per incorporare LaTeX per casi complessi.

Ma i fogli di calcolo sono una storia abbastanza diversa ... Esiste un formato di fogli di calcolo (simile a quello) che è amichevole per i sistemi di controllo della versione (e, preferibilmente, è leggibile come Markdown)?

"Formato amichevole": Git funziona bene con il formato ( non con XML) e genera differenze leggibili dall'uomo (la configurazione extra che coinvolge strumenti esterni è OK).

Ovviamente, i sapori di Markdown consentono di creare tabelle statiche, ma mi piacerebbe essere in grado di usare cose come SUM()ecc. (Nota che CSV ha lo stesso problema.) No WYSIWYG è OK, ma un supporto editor / strumento decente sarebbe simpatico.

Aggiornamento: solo risposte compatibili con Linux, per favore. Nessun materiale di MS Office.


2
Cosa intendi esattamente con "git-friendly"? Non ho usato git molto, ma gestisce bene i file binari e possono essere controllati e taggati come qualsiasi altro file di testo. Semplicemente non possono essere diffusi, ma potrebbe non essere necessario.
Thomas Owens

Amichevole: posso vedere diff e capire facilmente cosa è cambiato. Aggiornata la domanda per riflettere ciò. A proposito, AFAIR, git, se configurato correttamente, può mostrare differenze per alcuni formati binari (con l'aiuto di strumenti esterni, ovviamente).
Alexander Gladysh,

Non posso credere che nessuno ti abbia chiesto questo, ma perché devi archiviare i fogli di calcolo nel repository del progetto? a cosa servono i fogli di calcolo? di solito sono abbastanza complessi da averne bisogno in una posizione diversa e di solito vengono utilizzati da uomini d'affari ...
Rudolf Olah,

2
Questa domanda sembra fuori tema perché non è correlata alla programmazione.

Un'alternativa al tentativo di trovare o creare un formato completamente nuovo adatto a diff regolari, è trovare o creare uno strumento per diffondere fogli di calcolo regolari e produrre output di testo. Questo è ciò che fa il software ExcelCompare open source, per Excel, OpenDocument ecc. E quel modo di visualizzare la domanda è adatto anche per un sito di domande e risposte sullo sviluppo del software :) Vedi controllo versione - Come faccio a diffondere due fogli di calcolo? - StackTranslate.it e il software stesso è su na-ka-na / ExcelCompare
nealmcb

Risposte:


12

Puoi anche usare libreOffice / open-office-spreadsheet-non-zip-xml-fileformat "* .fods" che è semplice xml. Il commento di @glenatron si applica anche a questo formato.

Il formato di foglio di calcolo standard "* .ods" aperto ofice è zippato xml e non è adatto per git (simile a @ Egryan / @ emuddudley answer).


Vorrei evitare XML. Aggiornata la domanda per riflettere ciò.
Alexander Gladysh,

2
1. LibreOffice funziona su Linux, anzi. 2. No, XML non è una cazzata di MS . Tuttavia, XML e Git non funzionano bene insieme (vedi il commento di @ glenatron sopra).
Alexander Gladysh,

3
@LazyBadger: DiffDog: nessun supporto Linux, closed-source, 500 $ / utente. Scusa, ma passo.
Alexander Gladysh,

2
@AlexanderGladysh - Meld, xmldiff o Come posso diff due file XML? argomento su SU
Lazy Badger

1
@LazyBadger: nota che l'unione a 3 vie è più importante della differenza. (Ma Google trova diversi strumenti di unione a 3 vie della riga di comando Linux per XML.) Proverò questi contro i fogli di calcolo di LibreOffice, grazie.
Alexander Gladysh,

7

Questo potrebbe non adattarsi alle tue esigenze, ma potrebbe adattarsi a quello di un altro. La modalità Org per Emacs include table.el, che, insieme ai particolari miglioramenti della modalità Org, fornisce una soluzione estremamente robusta per i fogli di calcolo, il tutto in testo semplice. Ulteriori informazioni (molto più dell'ambito di questo sito) sono disponibili sul sito Web e sul manuale di Org-mode , in particolare il suo tutorial per fogli di calcolo .

inserisci qui la descrizione dell'immagine


4

Che dire di pyspread ? È potente e viene fornito con una bella interfaccia grafica.

Secondo la pagina Primi passi :

Il formato del file pys è stato modificato nella versione 0.2.0. Ora è un file di testo bzip2-ed con la seguente struttura:

[Pyspread salva la versione del file]

0.1

[forma]

1000 100 3

[griglia]

7 22 0 'Testcode1'

8 9 0 'Testcode2'

[attributi]

[] [] [] [] [(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

[Macro]

Testo macro

Il fatto che sia bzip2-ed non aiuta, ma almeno puoi accedere a un testo abbastanza leggibile.

La licenza è GPLv3.


4

CSV (valori separati da virgola)

Se stai solo lavorando con i dati, è probabilmente il formato più semplice e più comunemente supportato.

Dovrebbe rendere la vita facile se si desidera diff tra le versioni.

Oh, e Google Docs supporta completamente l'importazione / esportazione CSV.

Aggiornare:

Quindi basta scrivere uno script di Google Apps per restringere le formule all'esportazione e fare il contrario all'importazione. Dovrai usare un po 'di ingegnosità perché il formato che stai cercando non esiste.


2
Sfortunatamente, CSV non supporta roba di formula come SUM()ecc.
Alexander Gladysh,

Ho aggiornato la domanda per dirlo esplicitamente.
Alexander Gladysh,

1
@AlexanderGladysh, in realtà direi che CSV può gestire bene le equazioni se scegli il formato giusto, il problema è che dovrai configurare un lettore in modo che analizzi e valuti quelle equazioni.
zzzzBov,

Emacs csv-mode potrebbe essere uno strumento utile. Considero anche Gnumerics per l'editing leggero di CSV. Devo ancora provarli ampiamente.
Brady Trainor,

1

So che Microsoft Office 2007 e versioni successive impostano automaticamente un formato xml propiziatorio quando salvano. Quindi dovrebbe essere amichevole per Git. Open office salva anche in un formato xml se si desidera utilizzare una soluzione più open source. Poiché un XML è un formato di testo, git dovrebbe essere in grado di gestirlo abbastanza bene

Dal momento che lo stai spostando da Google Documents, puoi scaricarli con documenti aperti basati su XML.

modificare

Dal momento che stai cercando una soluzione non Microsoft / XML, puoi sempre salvare un CSV in ufficio aperto anche se non sono sicuro di quante funzionalità perdi salvando in questo formato.


3
Ho riscontrato alcuni problemi con Git in disaccordo con i formati XML o la loro fusione in modi non conformi al formato del documento. Credo che questo possa essere aggirato usando uno strumento di unione specifico per XML, ma non l'ho visto in uso.
glenatron,

4
Il formato Excel Workbook (* .xlsx) è una raccolta di file XML in un contenitore ZIP. Puoi scegliere XML Spreadsheet 2003 (* .xml) per salvare in un singolo file XML, ma supporta solo un sottoinsieme delle funzionalità di Excel.
M. Dudley,

1
XML non lo farebbe, come per il commento di @glenatron sopra (anch'io ho avuto tali problemi). Inoltre: i diff XML non sono abbastanza IMO leggibili dall'uomo. Aggiornata la domanda per riflettere ciò.
Alexander Gladysh,

Bene, CSV non supporta alcuna formula. Allora posso solo usare le tabelle di Markdown. Aggiornata la domanda per riflettere ciò.
Alexander Gladysh,

0

Questo potrebbe non essere esatto quello che vuoi, credo che libre office ti consenta di fare riferimento a file esterni. Potresti avere un foglio di calcolo che tratti come un database e avere un file libre statico che sarebbe la tua interfaccia. Perderesti facilmente la somma dei tuoi accessi nei file con versione se non li richiami, ma funzionerebbe.

Un altro grosso problema con questo sarebbe che è un direzionale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.