Формат електронних таблиць, сприятливий для Git? [зачинено]


35

Ми намагаємось перенести наш проект проектної документації з Документів Google до набору власницьких сховищ Git.

Текстові документи досить зручні для Git, оскільки нам зазвичай не потрібне фантазійне форматування, ми просто перетворимо все на, скажімо, мультимаркет із можливістю вбудувати LaTeX у складних випадках.

Але електронні таблиці - це зовсім інша історія ... Чи існує формат електронних таблиць (-подібний), приємний для систем управління версіями (і, бажано, такий же читабельний, як і Markdown)?

"Дружній формат": Git добре працює з форматом (він не відповідає XML), і він генерує людину, що читається, відрізняється ( додаткова конфігурація із залученням зовнішніх інструментів є ОК).

Очевидно, аромати Markdown дозволяють створювати статичні таблиці, але я хотів би мати можливість використовувати такі речі, як SUM()і т.д. ... (Зверніть увагу, що CSV має таку ж проблему.) Ні WYSIWYG не в порядку, але гідна підтримка редактора / інструменту була б приємно.

Оновлення: Лише відповіді для Linux, будь ласка. Немає речей MS Office.


2
Що саме ви маєте на увазі під "git-friendly"? Я не використовував git багато, але він обробляє бінарні файли просто чудово, і вони можуть бути розроблені та помічені як і будь-який текстовий файл. Вони просто не можуть бути розрізнені, але це може не бути необхідним.
Thomas Owens

Доброзичливий: я можу побачити різницю і легко зрозуміти, що змінилося Оновлено питання, щоб це відобразити BTW, AFAIR, git при правильній настройці може показувати різниці для деяких бінарних форматів (звичайно, за допомогою зовнішніх інструментів).
Олександр Гладиш

Не можу повірити, що вас ніхто не запитував, але навіщо потрібно зберігати електронні таблиці у сховищі проектів? для чого використовуються електронні таблиці? зазвичай вони досить складні, що вам потрібні в іншому місці, і їх зазвичай використовують ділові люди ...
Рудольф Олах

2
Це питання видається поза темою, оскільки не пов'язане з програмуванням.

Альтернативою спробі знайти або створити цілком новий формат, придатний для регулярних розбіжностей, є пошук або створення інструменту для розрізнення звичайних електронних таблиць та створення тексту. Ось що робить програмне забезпечення ExcelCompare з відкритим кодом, для Excel, OpenDocument тощо. І такий спосіб перегляду питання підходить навіть для розробки програмного забезпечення Q&A :) Дивіться контроль версій - Як я відрізняю дві електронні таблиці? - Переповнення стека та саме програмне забезпечення знаходиться на na-ka-na / ExcelCompare
nealmcb

Відповіді:


12

Ви також можете використовувати libreOffice / open-office-spreadsheet-non-zip-xml-fileformat "* .fods", який є простим xml. Коментар @glenatron також стосується цього формату.

Стандартний формат електронних таблиць у форматі open * ".ods" має блискавку у форматі xml та не дуже підходить для git (подібно до відповіді @ Egryan / @ emuddudley).


Я хотів би уникати XML. Оновлено питання, щоб це відобразити
Олександр Гладиш

2
1. LibreOffice дійсно працює на Linux. 2. Ні, XML - це не фігня MS . Однак XML та Git не працюють добре (див. Коментар @ glenatron вище).
Олександр Гладиш

3
@LazyBadger: DiffDog: немає підтримки Linux, із закритим кодом, 500 $ / користувач. Вибачте, але я пройду.
Олександр Гладиш

2
@AlexanderGladysh - Meld, xmldiff або Як я можу розрізняти два XML-файли? тема на SU
Lazy Badger

1
@LazyBadger: Зауважте, що тристороння злиття важливіша за, ніж різницю. (Але Google знаходить декілька підходящих тривимірних інструментів злиття командного рядка Linux для XML.) Я спробую їх проти електронних таблиць LibreOffice, дякую.
Олександр Гладиш

7

Це може не відповідати вашим потребам, але може відповідати іншим. Org-режим для Emacs включає table.el, що поряд з особливими вдосконаленнями в режимі Org забезпечує надзвичайно надійне рішення для електронних таблиць, усе в простому тексті. Більше інформації (набагато більше, ніж сфера застосування цього веб-сайту) доступна на веб-сайті та посібнику режиму Org , зокрема в посібнику з електронних таблиць .

введіть тут опис зображення


4

А що з розсипкою ? Це потужний і поставляється з приємним графічним інтерфейсом.

Відповідно до сторінки " Перші кроки" :

Формат файлу pys змінився у версії 0.2.0. Зараз це текстовий файл bzip2-ed із такою структурою:

[Поширена версія збереження файлу]

0,1

[форма]

1000 100 3

[сітка]

7 22 0 'Тестовий код1'

8 9 0 'Testcode2'

[атрибути]

[] [] [] [] [(0, 0)] 0 'текстовий шрифт' u'URW Chancery L '

[] [] [] [] [(0, 0)] 0 'крапка "20

[рядок_висоби]

0 0 56,0

7 0 25,0

[col_widths]

0 0 80,0

[макроси]

Текст макросу

Той факт, що це bzip2-ed, не допомагає, але принаймні ви можете отримати доступ до досить читаного тексту.

Ліцензія GPLv3.


4

CSV (значення, розділені комами)

Якщо ви просто працюєте з даними, це, мабуть, найпростіший і найчастіше підтримуваний формат.

Потрібно полегшити життя, якщо ви хочете відрізнятись між версіями.

О, а Google Docs повністю підтримує імпорт / експорт CSV.

Оновлення:

Тоді просто напишіть сценарій Google Apps, щоб упорядкувати формули експорту та зробити зворотний при імпорті. Вам потрібно буде використовувати деяку винахідливість, оскільки потрібний формат не існує.


2
На жаль, CSV не підтримує такі формули, як SUM()тощо
Олександр Гладиш

Я оновив питання, щоб сказати це прямо.
Олександр Гладиш

1
@AlexanderGladysh, насправді я б сказав, що CSV може добре працювати з рівняннями, якщо ви виберете правильний формат, проблема полягає в тому, що вам потрібно буде налаштувати зчитувач таким чином, щоб він розбирав і оцінював ці рівняння.
zzzzBov

Режим Emacs csv може стати гарним інструментом. Я також вважаю Gnumerics для полегшеного редагування csv. Потрібно ще багато спробувати.
Брейді Тренер

1

Я знаю, що Microsoft Office 2007 та новіші версії за замовчуванням у вигідному форматі XML, коли вони зберігаються. Так що це має бути дружньо для Git. Відкритий офіс також економить у форматі XML, якщо ви хочете використовувати більш відкрите рішення. Оскільки XML - це текстовий формат, git повинен мати можливість досить добре поводитися з ним

Оскільки ви переміщуєте його з Документів Google, ви можете завантажити їх із відкритими документами на основі XML.

Редагувати

Оскільки ви хочете, щоб не було рішення Microsoft / XML, ви завжди можете зберігати CSV у відкритому офісі, хоча я не впевнений, яку функціональність ви втрачаєте, зберігаючи в цьому форматі.


3
Я бачив деякі проблеми з тим, що Git не погоджується з форматами XML або об'єднує їх таким чином, що не відповідає формату документа. Я вважаю, що це можна вирішити, використовуючи специфічний для XML інструмент злиття, але я цього не бачив у використанні.
гленатрон

4
Формат Excel Workbook (* .xlsx) - це набір XML-файлів у контейнері ZIP. Ви можете вибрати електронну таблицю XML 2003 (* .xml) для збереження в одному XML-файлі, але він підтримує лише підмножину функцій Excel.
М. Дадлі

1
Згідно з коментарем @glenatron, описаним вище, XML не зробив би (у мене також були такі проблеми). Також: XML-розрізнення не є цілком зрозумілим для людини ІМО. Оновлено питання, щоб це відобразити
Олександр Гладиш

Ну, CSV не підтримує жодних формул. Тоді я можу просто використовувати таблиці Маркдаун. Оновлено питання, щоб це відобразити
Олександр Гладиш

0

Це може бути не точно, що ви хочете. Я вважаю, що вільний офіс дозволяє вам посилатися на зовнішній файл. У вас може бути електронна таблиця, до якої ви ставитесь як до бази даних, і маєте статичний файл вільного файлу, який буде вашим інтерфейсом. Ви втратите легке підсумовування доступу до своїх версій файлів, якщо не передзвоните їх, але це спрацює.

Ще одна досить велика проблема, пов'язана з цим, полягає в тому, що це односторонній напрямок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.