2014-05-21 8 views
8

Je viens de déménager à temps plein sur Linux, et LibreOffice mais j'essaie de comprendre comment écrire des scripts pour Python.Comment utiliser LibreOffice Calc et Python?

Des choses simples comme le référencement de cellules/feuilles et autres. Trouver la dernière cellule dans une colonne en utilisant python.

Tout ce qui était incroyablement facile à faire pour VBA mais maintenant j'ai besoin d'apprendre à le faire en python.

+0

Les questions d'utilisation du logiciel appartiennent à superuser.com –

Répondre

2

Peut-être que le OOSheet serait ce que vous cherchez:

http://oosheet.hacklab.com.br/

Il est une interface python niveau plus élevé que python-uno (qui est utilisé comme API de bas niveau par OOSheet). Vous pouvez l'utiliser pour créer des scripts Macro, aussi bien dans un shell connecté à libreoffice par un socket. C'est sympa car vous pouvez utiliser IPython ou d'autres shells interactifs (REPL) pour travailler dans une feuille ou développer quelque chose.

Ceci est un code d'exemple tiré de la documentation officielle qui montre comment simple et un peu de ce qu'il peut faire:

>>> 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

Avez-vous essayé pyoo? C'est une sorte d'encapsuleur Python-UNO et semble être une alternative valide et plus facile à utiliser directement avec Python-UNO.

Questions connexes