import uno # A recopier systématiquement class UnoClient: def __init__(self): localContext = uno.getComponentContext() resolver = localContext.ServiceManager.createInstanceWithContext( "com.sun.star.bridge.UnoUrlResolver", localContext) self.smgr = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ServiceManager") def create_document(self, app): remoteContext = self.smgr.getPropertyValue("DefaultContext") desktop = self.smgr.createInstanceWithContext("com.sun.star.frame.Desktop", remoteContext) url = "private:factory/{0}".format(app) return desktop.loadComponentFromURL(url, "_blank", 0, ()) def testLibreOffice(data): #creation d'un nouveau classeur dans le logiciel ouvert calc = UnoClient().create_document('scalc') #Accès à la première feuille du classeur sheet = calc.getSheets().getByIndex(0) #Création de valeurs et de formules sheet.getCellByPosition(0, 0).setString("Salut") #Un texte sheet.getCellByPosition(0, 1).setValue(3.14) #Un nombre sheet.getCellByPosition(0, 2).setFormula("=SUM(2+2)") #Une formule #Gestion de la mise en page sheet.getCellByPosition(0, 2).CellBackColor = int("ff7f00", 16) sheet.getCellByPosition(0, 2).CharUnderline = 1 sheet.getCellByPosition(0, 2).CharHeight = 16 sheet.getCellByPosition(0, 2).CharWeight = 150 sheet.getCellByPosition(0, 2).CharPosture = 2