AntoineLG
Posts: 27
Joined: Thu Jul 23, 2015 4:18 pm

Ecrire danc libre office calc via un programme

Tue Sep 08, 2015 12:30 pm

Bonjour a tous!

J'aurais besoins d un petit coup de main!! Je cherche a écrire des données dans un fichier "libre office calc" via un programme mais je ne parviens pas a trouver de solution. Je souhaite ecrire 5 types de données rangées par colonnes mais jusque-la je n'ai pas reussi a écrire une ligne... Est ce vous seriez me renseigner?
Merci

Antoine

totoharibo
Posts: 4204
Joined: Thu Jan 24, 2013 8:43 am

Re: Ecrire danc libre office calc via un programme

Tue Sep 08, 2015 2:13 pm

je ne sais pas exactement ce que tu veux faire mais tu peux rentrer des tableaux dans calc avec un ficher texte au format csv.

fichier -> ouvrir -> texte CSV

AntoineLG
Posts: 27
Joined: Thu Jul 23, 2015 4:18 pm

Re: Ecrire danc libre office calc via un programme

Tue Sep 08, 2015 2:49 pm

bonjour,

En réalite, j ai un programme qui tourne et me donne plusieurs information a chaque fois que j appuis sur un bouton. Pour l instant il me renvoie ces informations dans un fichier .txt, ce qui ne me va pas vraiment car les valeurs sont toutes a la suite.
Je cherche a sovoir s il existe un code pour envoyer mes valeur via mon programme dans un fichier .csv et de pouvoir les ordonner par collone. A chaque pression du bouton, ce serait la ligne suivant du classeur qui serait rempli sachant que j ai 5 types de valeurs donc 5 colonnes.
Aurais-tu une idee?

merci

Mukatai
Posts: 38
Joined: Wed Oct 23, 2013 7:57 am

Re: Ecrire danc libre office calc via un programme

Tue Sep 08, 2015 6:51 pm

Salut,

Je pense qu'un petit tour sur Google pour savoir ce qu'est un fichier csv sera la solution...

@+

jelopo
Posts: 1503
Joined: Wed Oct 17, 2012 7:53 pm

Re: Ecrire danc libre office calc via un programme

Tue Sep 08, 2015 9:14 pm

Bonjour,

Il faut ajouter un caractère de séparation entre chaque donnée et un caractère de fin de ligne pour avoir une ligne par prise de mesure de données.
En fonction du langage de ton programme, regardes sur le net comment insérer un caractère fin de ligne.

A+

danjperron
Posts: 3390
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Ecrire danc libre office calc via un programme

Wed Sep 09, 2015 2:06 am

Si tu utilises python, il y a pyexcel qui est compatible avec libreoffice.

http://pythonhosted.org/pyexcel/

Pour l'installer,

Code: Select all

sudo pip install pyexcel
sudo pip install pyexcel-ods
Voici un petit script qui ajoute les données à la dernière rangée du premier feuillet.

Code: Select all

import sys

cmdCount= len(sys.argv)
cmdargs = sys.argv

#le premier argument est l'application
#le deuxieme argument sera le fichier calc .ods
#les prochains arguments seront les datas que tu veux ajouter a la fin

import pyexcel as pe
import pyexcel.ext.ods

odsFile= cmdargs[1]

#coller les nouveaux datas ensemble

datas = []
for i in range(2,cmdCount,1):
   datas.append(cmdargs[i])
print('datas={}'.format(datas))

#ouverture du fichier calc .ods
print('filename={}'.format(odsFile))
book= pe.get_book(file_name= odsFile)

#aller chercher le premier feuillet (sheet)
sheet1 = book[0]

#ajouter une rangee
sheet1.row += datas

#sauver le fichier
book.save_as(odsFile)
De la console, j'exécute la commande suivante

Code: Select all

python ajouteData.py  test2.ods 4 5 6 7
et je me retrouve avec un fichier test.ods avec une ligne de plus qui contient 4,5,6 et 7 dans quatre cellules.

P.S. Le script est sommaire et ne contient pas de code pour detecter les erreurs. Il faut que le fichier calc en format .ods existe.

Daniel

danjperron
Posts: 3390
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Ecrire danc libre office calc via un programme

Wed Sep 09, 2015 11:11 am

Pour pyexcel il faut aussi installer odfpy

Code: Select all

sudo pip install odfpy
Nous n'avons pas besoin de coller les datas ensemble. il suffit d'exclure les deux premiers paramètres.

Code: Select all

sheet1.row += cmdargs[2:]

AntoineLG
Posts: 27
Joined: Thu Jul 23, 2015 4:18 pm

Re: Ecrire danc libre office calc via un programme

Thu Sep 10, 2015 12:36 pm

merci pour ces infos, je regarde ca!
a plus

Return to “Français”