Może OOSheet byłoby czego szukasz:
http://oosheet.hacklab.com.br/
Jest to interfejs Pythona poziom wyższy niż python-uno (który jest używany jako niski poziom API przez OOSheet). Możesz go użyć do tworzenia skryptów Macro, jak również do pracy w powłoce połączonej z libreoffice przez gniazdo. To jest miłe, ponieważ możesz używać powłok IPython lub innych interaktywnych (REPL), aby pracować w arkuszu lub coś rozwijać.
To jest przykładowy kod pochodzi z oficjalnej dokumentacji, która pokazuje, jak proste i trochę o tym, co może zrobić:
>>> from oosheet import OOSheet as S
>>> S('a1').string = 'Hello world'
>>> S('a1').value = 1
>>> S('a2').formula = '=a1+10'
>>> S('a2').value
11.0
>>> S('a2').string
u'11'
>>> S('a2').formula
u'=A1+10'
>>> S('a1').set_value(2).drag_to('a3').drag_to('b3')
>>> S('a1:b3').data_array
((2.0, 3.0), (3.0, 4.0), (4.0, 5.0))
>>> S('g5').string = 'hello world'
>>> S('a1:10').shift_down_until(column_g_satisfies = lambda s: s.string.endswith('world'))
Sheet1.G1:G10
>>> S('a8:b8').cut()
>>> S('a1:4').copy()
>>> S('j5').paste()
>>> S().undo()
>>> S().redo()
>>> S().save_as('/tmp/oosheet_sandbox.ods')
>>> S().quit() # this will close LibreOffice
Pytania dotyczące używania oprogramowania należą do superuser.com –