Format spreadsheet yang ramah git? [Tutup]

35

Kami mencoba untuk memindahkan proses dokumentasi proyek kami dari Google Documents ke satu set repositori Git yang di-host-sendiri.

Dokumen teks cukup ramah Git, karena biasanya kita tidak memerlukan pemformatan mewah, kami hanya akan mengonversi semuanya menjadi, katakanlah, multimarkdown dengan opsi untuk menyematkan LaTeX untuk kasus rumit.

Tetapi spreadsheet adalah cerita yang sangat berbeda ... Apakah ada format spreadsheed (-seperti) yang ramah terhadap sistem kontrol versi (dan, lebih disukai, dapat dibaca oleh manusia seperti Markdown)?

"Format ramah": Git bekerja dengan baik dengan format ( tidak dengan XML) dan menghasilkan diff yang dapat dibaca manusia ( konfigurasi tambahan yang melibatkan alat eksternal OK).

Jelas, rasa Markdown memungkinkan seseorang untuk membuat tabel statis, tetapi saya ingin dapat menggunakan hal-hal seperti SUM()dll ... (Perhatikan bahwa CSV memiliki masalah yang sama.) Tidak WYSIWYG baik-baik saja, tetapi dukungan editor / alat yang layak akan bagus.

Perbarui: hanya jawaban ramah Linux. Tidak ada barang MS Office.

Alexander Gladysh
sumber
2
Apa yang Anda maksud dengan "git-friendly"? Saya belum pernah menggunakan git, tetapi ia menangani file biner dengan baik dan mereka dapat diversi dan di-tag sama seperti file teks lainnya. Mereka tidak bisa dibedakan, tetapi itu mungkin tidak perlu.
Thomas Owens
Ramah: Saya dapat melihat perbedaan dan dengan mudah mengetahui apa yang diubah. Memperbarui pertanyaan untuk mencerminkan hal itu. BTW, AFAIR, git, ketika dikonfigurasi dengan benar, dapat menampilkan perbedaan untuk beberapa format biner (tentu saja dengan bantuan alat eksternal).
Alexander Gladysh
Saya tidak percaya tidak ada yang menanyakan hal ini kepada Anda, tetapi mengapa Anda perlu menyimpan spreadsheet di repositori proyek? untuk apa spreadsheet? biasanya mereka cukup kompleks sehingga Anda membutuhkannya di lokasi yang berbeda dan biasanya digunakan oleh pebisnis ...
Rudolf Olah
2
Pertanyaan ini tampaknya di luar topik karena tidak terkait dengan pemrograman.
Alternatif untuk mencoba menemukan atau membuat format baru yang cocok untuk diff reguler, adalah menemukan atau membuat alat untuk diff spreadsheet biasa dan menghasilkan output teks. Itulah yang dilakukan oleh perangkat lunak open source ExcelCompare, untuk Excel, OpenDocument dll. Dan cara melihat pertanyaan itu bahkan cocok untuk pengembangan Q&A situs perangkat lunak :) Lihat kontrol versi - Bagaimana cara membedakan dua spreadsheet? - Stack Overflow dan perangkat lunaknya sendiri ada di na-ka-na / ExcelCompare
nealmcb

Jawaban:

12

Anda juga dapat menggunakan libreOffice / open-office-spreadsheet-non-zip-xml-fileformat "* .fods" yang merupakan xml polos. Komentar @glenatron berlaku untuk format ini juga.

Format spreadsheet kantor standar terbuka "* .ods" di-zip xml dan tidak begitu cocok untuk git (mirip dengan jawaban @ Egryan / @ emuddudley).

k3b
sumber
Saya ingin menghindari XML. Memperbarui pertanyaan untuk mencerminkan hal itu.
Alexander Gladysh
2
1. LibreOffice memang berfungsi di Linux, memang. 2. Tidak, XML bukan omong kosong MS . Namun, XML dan Git tidak bekerja bersama dengan baik (lihat komentar @ glenatron di atas).
Alexander Gladysh
3
@LazyBadger: DiffDog: tidak ada dukungan Linux, sumber tertutup, $ 500 / pengguna. Maaf, tapi saya akan lulus.
Alexander Gladysh
2
@AlexanderGladysh - Meld, xmldiff atau Bagaimana cara membedakan dua file XML? topik pada SU
Lazy Badger
1
@LazyBadger: Perhatikan bahwa penggabungan 3 arah lebih penting daripada, berbeda. (Tapi Google menemukan beberapa alat penggabungan 3-jalur perintah-Linux yang sesuai untuk XML.) Saya akan mencoba ini melawan spreadsheet LibreOffice, terima kasih.
Alexander Gladysh
7

Ini mungkin tidak sesuai dengan kebutuhan Anda, tetapi mungkin sesuai dengan kebutuhan orang lain. Org-mode untuk Emacs termasuk table.el, yang, bersama dengan penyempurnaan khusus Org-mode, memberikan solusi yang sangat kuat untuk spreadsheet, semuanya dalam teks biasa. Lebih banyak informasi (lebih dari cakupan situs ini) tersedia di situs web dan manual mode-Org , khususnya tutorial spreadsheet -nya .

masukkan deskripsi gambar di sini

Sean Allred
sumber
4

Bagaimana dengan penyebarannya ? Ini kuat dan dilengkapi dengan GUI yang bagus.

Menurut halaman Langkah Pertama :

Format file pys telah berubah dalam versi 0.2.0. Sekarang file teks bzip2-ed dengan struktur berikut:

[Menyimpan versi file yang disimpan]

0,1

[bentuk]

1000 100 3

[kisi]

7 22 0 'Testcode1'

8 9 0 'Testcode2'

[atribut]

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

[makro]

Teks makro

Fakta bahwa itu adalah bzip2-ed tidak membantu tetapi setidaknya Anda dapat mengakses teks yang cukup mudah dibaca.

Lisensi adalah GPLv3.

Clement J.
sumber
4

CSV (Nilai Terpisah Koma)

Jika Anda hanya bekerja dengan data, itu mungkin format yang paling sederhana dan paling umum didukung.

Seharusnya memudahkan hidup jika Anda ingin berbeda antar versi.

Oh, dan Google Documents sepenuhnya mendukung impor / ekspor CSV.

Memperbarui:

Kemudian, cukup tulis Google Apps Script untuk merumuskan formula saat ekspor dan melakukan sebaliknya saat impor. Anda harus menggunakan kecerdikan karena format yang Anda cari tidak ada.

Evan Plaice
sumber
2
Sayangnya, CSV tidak mendukung hal-hal formula seperti SUM()dll.
Alexander Gladysh
Saya memperbarui pertanyaan untuk mengatakan itu secara eksplisit.
Alexander Gladysh
1
@AlexanderGladysh, sebenarnya saya akan mengatakan CSV dapat menangani persamaan dengan baik jika Anda memilih format yang tepat, masalahnya adalah Anda harus mengonfigurasi pembaca sedemikian rupa sehingga mem-parsing dan mengevaluasi persamaan-persamaan itu.
zzzzBov
Emacs csv-mode mungkin alat yang bagus. Saya juga mempertimbangkan Gnumerik untuk mengedit csv ringan. Belum mencoba ini secara luas.
Brady Trainor
1

Saya tahu bahwa Microsoft Office 2007 dan standar yang lebih tinggi untuk format xml propitiatory ketika mereka menyimpan. Jadi itu harus ramah untuk Git. Open office juga menyimpan ke format xml jika Anda ingin menggunakan solusi open source. Karena XML adalah format teks, git harus dapat menanganinya dengan cukup baik

Karena Anda memindahkannya dari Google Documents, Anda dapat mengunduhnya memiliki dokumen terbuka yang berbasis xml.

Edit

Karena Anda menginginkan solusi non-Microsoft / XML, Anda selalu dapat menyimpan CSV di kantor terbuka, meskipun saya tidak yakin berapa banyak fungsionalitas yang hilang dengan menyimpan ke format ini.

Egryan
sumber
3
Saya telah melihat beberapa masalah dengan Git yang tidak setuju dengan format XML atau menggabungkannya dengan cara yang tidak sesuai dengan format dokumen. Saya percaya ini bisa diselesaikan dengan menggunakan alat gabungan khusus XML, tapi saya belum melihat ini sedang digunakan.
glenatron
4
Format Buku Kerja Excel (* .xlsx) adalah kumpulan file XML dalam wadah ZIP. Anda dapat memilih XML Spreadsheet 2003 (* .xml) untuk disimpan ke dalam satu file XML, tetapi hanya mendukung sebagian fitur Excel.
M. Dudley
1
XML tidak akan melakukan, sesuai komentar @glenatron di atas (saya sendiri punya masalah seperti itu juga). Juga: XML diffs bukan IMO yang bisa dibaca manusia. Memperbarui pertanyaan untuk mencerminkan hal itu.
Alexander Gladysh
Yah, CSV tidak mendukung hal formula. Saya bisa menggunakan tabel Markdown saja. Memperbarui pertanyaan untuk mencerminkan hal itu.
Alexander Gladysh
0

Ini mungkin tidak persis apa yang Anda inginkan. Saya percaya bahwa kantor bebas memungkinkan Anda referensi file luar. Anda bisa memiliki spreadsheet yang Anda perlakukan seperti database dan memiliki file gratis statis yang akan menjadi antarmuka Anda. Anda akan kehilangan akses penjumlahan dalam file berversi Anda kecuali Anda memanggilnya kembali, tetapi itu akan berhasil.

Masalah lain yang agak besar dengan ini adalah bahwa itu adalah satu arah.

Jpatrick
sumber