2014-05-21 21 views
8

Właśnie przeniosłem się w pełnym wymiarze na Linuksa i LibreOffice, ale próbuję wymyślić, jak faktycznie pisać skrypty dla niego w pythonie.Jak korzystać z LibreOffice Calc i Python?

Proste rzeczy, takie jak odnośniki do komórek/arkuszy itp. Znajdowanie ostatniej komórki w kolumnie przy użyciu Pythona.

Wszystkie rzeczy, które były niezwykle łatwe do zrobienia w VBA, ale teraz muszę nauczyć się robić je w python.

+0

Pytania dotyczące używania oprogramowania należą do superuser.com –

Odpowiedz

2

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 
2

próbowałeś pyoo? Jest to rodzaj wrappera Python-UNO i wydaje się być ważną i łatwiejszą alternatywą do bezpośredniego użycia Pythona-UNO.

Powiązane problemy