รูปแบบสเปรดชีตที่เป็นมิตรกับ Git? [ปิด]


35

เรากำลังพยายามย้ายกระบวนการเอกสารโครงการของเราจาก Google เอกสารไปยังชุดของที่เก็บ Git ที่โฮสต์ด้วยตนเอง

เอกสารข้อความนั้นง่ายต่อการคอมไพล์เนื่องจากเรามักไม่ต้องการการจัดรูปแบบแฟนซีเราจะแปลงทุกอย่างเป็นพูดคำสั่งย่อยด้วยตัวเลือกเพื่อฝัง LaTeX สำหรับกรณีที่ซับซ้อน

แต่สเปรดชีตเป็นเรื่องที่แตกต่างกันมาก ... มีรูปแบบสเปรดชีต (- เหมือน) ที่เป็นมิตรกับระบบควบคุมเวอร์ชัน (และยิ่งกว่านั้นคือมนุษย์สามารถอ่านได้เหมือนกับ Markdown)?

"รูปแบบที่เป็นมิตร": Git ทำงานได้ดีกับรูปแบบ ( ไม่ใช้ XML) และสร้างความแตกต่างที่มนุษย์สามารถอ่านได้ ( การกำหนดค่าเพิ่มเติมที่เกี่ยวข้องกับเครื่องมือภายนอกนั้นใช้ได้)

เห็นได้ชัดว่ารสชาติ Markdown อนุญาตให้สร้างตารางแบบคงที่ แต่ฉันต้องการที่จะใช้สิ่งต่าง ๆ เช่นSUM()ฯลฯ ... (โปรดทราบว่า CSV มีปัญหาเดียวกัน) ไม่มี WYSIWYG เป็นไร แต่การสนับสนุนเครื่องมือแก้ไข / เครื่องมือที่ดีจะเป็น ดี

โปรดอัพเดท: คำตอบที่เป็นมิตรกับ Linux เท่านั้น ไม่มี MS Office


2
"git-friendly" คุณหมายถึงอะไร? ฉันไม่ได้ใช้คอมไพล์มากนัก แต่มันจัดการกับไฟล์ไบนารี่ได้ดีและพวกมันสามารถทำเวอร์ชันและติดแท็กเหมือนกับไฟล์ข้อความใด ๆ พวกเขาไม่สามารถแยกแยะได้ แต่นั่นอาจไม่จำเป็น
โธมัสโอเวนส์

เป็นมิตร: ฉันสามารถดูความแตกต่างและเข้าใจได้ง่ายว่ามีอะไรเปลี่ยนแปลง อัปเดตคำถามเพื่อสะท้อนว่า BTW, AFAIR, git, เมื่อกำหนดค่าอย่างเหมาะสมสามารถแสดงความแตกต่างสำหรับรูปแบบไบนารี่บางรูปแบบ (ด้วยความช่วยเหลือของเครื่องมือภายนอก, แน่นอน)
Alexander Gladysh

ฉันไม่อยากเชื่อเลยว่าไม่มีใครถามคุณ แต่ทำไมคุณต้องจัดเก็บสเปรดชีตในที่เก็บโครงการ สเปรดชีตมีไว้เพื่ออะไร มักจะมีความซับซ้อนเพียงพอที่คุณต้องการในสถานที่ที่แตกต่างกันและพวกเขามักจะถูกใช้โดยนักธุรกิจ ...
Rudolf Olah

2
คำถามนี้ดูเหมือนจะไม่ได้อยู่ในหัวข้อเพราะไม่เกี่ยวข้องกับการเขียนโปรแกรม

อีกทางเลือกหนึ่งในการพยายามค้นหาหรือสร้างรูปแบบใหม่ทั้งหมดที่เหมาะสมกับ diffs ทั่วไปคือการค้นหาหรือสร้างเครื่องมือเพื่อกระจาย spreadsheet และสร้าง text output นั่นคือสิ่งที่ซอฟต์แวร์ ExcelCompare โอเพ่นซอร์สใช้สำหรับ Excel, OpenDocument เป็นต้นและวิธีการดูคำถามนั้นเหมาะสำหรับเว็บไซต์ถามตอบการพัฒนาซอฟต์แวร์ :) ดูการควบคุมเวอร์ชัน - ฉันจะกระจายสเปรดชีตสองแผ่นได้อย่างไร - Stack Overflowและซอฟต์แวร์นั้นอยู่ที่na-ka-na / ExcelCompare
nealmcb

คำตอบ:


12

คุณยังสามารถใช้ libreOffice / open-office-spreadsheet-non-zip-xml-fileformat "* .fods" ซึ่งเป็น xml ธรรมดา ความคิดเห็นของ @glenatron นำไปใช้กับรูปแบบนี้เช่นกัน

รูปแบบสเปรดชีตเปิด ofice มาตรฐาน "* .ods" เป็นซิป xml และไม่เหมาะสำหรับ git (คล้ายกับ @ Egryan / @ emuddudley answer)


ฉันต้องการหลีกเลี่ยง XML อัปเดตคำถามเพื่อสะท้อนว่า
Alexander Gladysh

2
1. LibreOffice ทำงานบน Linux ได้แน่นอน 2. ไม่ XML ไม่ใช่MS bullshit อย่างไรก็ตาม XML และ Git ทำงานร่วมกันได้ไม่ดี (ดูความคิดเห็นของ @ glenatron ด้านบน)
Alexander Gladysh

3
@LazyBadger: DiffDog: ไม่รองรับ Linux, แหล่งปิด, 500 $ / ผู้ใช้ ขออภัยฉันจะผ่าน
Alexander Gladysh

2
@AlexanderGladysh - Meld, xmldiff หรือฉันจะกระจายไฟล์ XML สองไฟล์ได้อย่างไร กระทู้ของ SU
Lazy Badger

1
@ LazyBadger: โปรดทราบว่าการผสาน 3 ทางมีความสำคัญมากกว่าการกระจาย (แต่ Google พบเครื่องมือผสาน 3-way ในบรรทัดคำสั่ง Linux ที่เหมาะสมหลายตัวสำหรับ XML) ฉันจะลองใช้กับสเปรดชีต LibreOffice ด้วย
Alexander Gladysh

7

สิ่งนี้อาจไม่ตรงกับความต้องการของคุณ แต่อาจเหมาะกับผู้อื่น Org-mode สำหรับ Emacs ประกอบด้วยtable.elซึ่งรวมถึงการปรับปรุงเฉพาะของ Org-mode จะมอบโซลูชันที่มีประสิทธิภาพสำหรับสเปรดชีตทั้งหมดในรูปแบบข้อความล้วน ข้อมูลเพิ่มเติม (มากขึ้นกว่าขอบเขตของเว็บไซต์นี้) สามารถดูได้ที่เว็บไซต์ขององค์กรโหมดและคู่มือโดยเฉพาะอย่างยิ่งของการกวดวิชาสเปรดชีต

ป้อนคำอธิบายรูปภาพที่นี่


4

แล้วpyspreadล่ะ มันทรงพลังและมาพร้อมกับ GUI ที่ดี

ตามหน้าขั้นตอนแรก :

รูปแบบไฟล์ pys มีการเปลี่ยนแปลงในรุ่น 0.2.0 ตอนนี้เป็นไฟล์ข้อความ bzip2-ed ที่มีโครงสร้างต่อไปนี้:

[เวอร์ชั่นไฟล์บันทึก Pyspread]

0.1

[รูปร่าง]

1,000 100 3

[ตาราง]

7 22 0 'Testcode1'

8 9 0 'Testcode2'

[คุณลักษณะ]

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

[] [] [] [] [(0, 0)] 0 'คะแนน' 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()อื่น ๆ
Alexander Gladysh

ฉันอัพเดทคำถามเพื่อพูดอย่างชัดเจน
Alexander Gladysh

1
@AlexanderGladysh ที่จริงฉันว่า CSV สามารถจัดการสมการได้ดีถ้าคุณเลือกรูปแบบที่ถูกต้องปัญหาคือคุณต้องกำหนดค่าเครื่องอ่านให้แยกวิเคราะห์และประเมินสมการเหล่านั้น
zzzzBov

Emacs csv-mode อาจเป็นเครื่องมือที่ดี ฉันยังพิจารณา Gnumerics สำหรับการแก้ไข csv ที่มีน้ำหนักเบา ยังไม่ได้ลองสิ่งเหล่านี้อย่างกว้างขวาง
Brady Trainor

1

ฉันรู้ว่า Microsoft Office 2007 และสูงกว่าค่าเริ่มต้นเป็นรูปแบบ xp propitiatory เมื่อพวกเขาบันทึก ดังนั้นควรเป็นมิตรกับ Git Open office ยังบันทึกเป็นรูปแบบ xml หากคุณต้องการใช้โซลูชันโอเพ่นซอร์สเพิ่มเติม เนื่องจาก XML เป็นรูปแบบข้อความคอมไพล์ควรจะสามารถจัดการกับมันค่อนข้างดี

เมื่อคุณย้ายจาก Google เอกสารคุณสามารถดาวน์โหลดได้มีเอกสารแบบเปิดซึ่งใช้ xml

แก้ไข

เนื่องจากคุณต้องการโซลูชันที่ไม่ใช่ Microsoft / XML คุณสามารถบันทึกได้ว่ามี CSV ในสำนักงานเปิดแม้ว่าฉันจะไม่แน่ใจว่าฟังก์ชันการทำงานที่คุณสูญเสียไปมากเพียงใดโดยการบันทึกเป็นรูปแบบนี้


3
ฉันเห็นปัญหาบางอย่างเกี่ยวกับ Git ที่ไม่เห็นด้วยกับรูปแบบ XML หรือรวมเข้าด้วยกันในรูปแบบที่ไม่สอดคล้องกับรูปแบบของเอกสาร ฉันเชื่อว่าสิ่งนี้สามารถแก้ไขได้ด้วยการใช้เครื่องมือผสานเฉพาะ XML แต่ฉันไม่ได้เห็นสิ่งนี้ในการใช้งาน
ลนนาตรอน

4
รูปแบบ Excel Workbook (* .xlsx) คือชุดของไฟล์ XML ในคอนเทนเนอร์ ZIP คุณสามารถเลือก XML Spreadsheet 2003 (* .xml) เพื่อบันทึกลงในไฟล์ XML ไฟล์เดียว แต่รองรับเฉพาะฟีเจอร์ย่อยของ Excel เท่านั้น
M. Dudley

1
XML จะไม่ทำตามความคิดเห็น @glenatron ด้านบน (ฉันเองก็มีปัญหาเช่นกัน) นอกจากนี้: XML diffs ไม่ใช่ IMO ที่มนุษย์สามารถอ่านได้ อัปเดตคำถามเพื่อสะท้อนว่า
Alexander Gladysh

CSV ไม่สนับสนุนสิ่งสูตรใด ๆ ฉันสามารถใช้ตารางของ Markdown ได้แล้ว อัปเดตคำถามเพื่อสะท้อนว่า
Alexander Gladysh

0

นี่อาจไม่ตรงกับสิ่งที่คุณต้องการฉันเชื่อว่า libre office ให้คุณอ้างอิงไฟล์ภายนอก คุณสามารถมีสเปรดชีตที่คุณปฏิบัติเหมือนฐานข้อมูลและมีไฟล์ libre แบบคงที่ที่จะเป็นส่วนต่อประสานของคุณ คุณจะสูญเสียสิทธิ์การเข้าถึงอย่างง่ายดายในไฟล์ที่มีเวอร์ชันของคุณเว้นแต่คุณจะโทรกลับ แต่จะใช้งานได้

อีกประเด็นที่ค่อนข้างใหญ่สำหรับเรื่องนี้ก็คือมันเป็นทิศทางเดียว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.