IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

modifier le contenu d'une cellule de OpenOffice Calc depuis une appli C++


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Points : 53
    Points
    53
    Par défaut modifier le contenu d'une cellule de OpenOffice Calc depuis une appli C++
    Bonjour à toutes et tous,

    Je développe une appli en C++ embarquée sous raspberryPi/Raspbian, appli qui gère différent matériel (webcam et clé USB, Real Time Clock, entrée/sorties hardware ...)
    Cette appli écrit un certain nombre d'infos dans un fichier csv pour consultation dans OpenOffice ou LibreOffice Calc. Jusque là ça se passe bien.
    Je dois maintenant ajouter un graphique dans ce tableur (diagramme selon la terminologie Calc), fabriqué à partir des dites données.
    Je ne peux donc plus me contenter d'un simple fichier csv.

    J'ai envisagé:
    de générer complètement un fichier au format ods, remplissage des des cellules de données + génération du diagramme
    d'utiliser un fichier .ods "modèle" incluant déjà un diagramme et de venir modifier uniquement les cellules de données avant d'enregistrer le fichier sous un nouveau nom, le diagramme se mettant à jour automatiquement avec les nouvelles données

    Dans les 2 cas, je n'ai pas trouvé la méthodologie. J'ai bien trouvé d'autres demandes similaires sur le net mais sans réponse qui colle au besoin, le besoin étant souvent mal discerné. J'ai aussi pu voir que l'on peut utiliser des OleOpenOffice, mais je ne comprends pas tout à fait ce que c'est et si je peux inclure cela dans fichier c++ ....

    Avez-vous des infos, des lectures ou des idées pour m'aider à avancer? L'info doit bien se trouver qq part sur le net, mais visiblement je ne cherche pas correctement.

    Merci

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Tu peux le faire en deux parties. Ton programme C++ produit les données brutes, toujours au format CSV, puis un second programme ou script transforme ces données en document calc.

    Il existe un mode d'utilisation sans affichage de LibreOffice.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 252
    Points : 649
    Points
    649
    Par défaut Back to the rOOoIs
    Partir d'un modèle me semble le mieux. Sinon de mémoire UNO permet d'accéder à toute l'API de la suite bureautique. Mais attention car mes connaissances remontent à OOo 1 ! Je te renvoie donc à l'équivalent moderne du fameux Developer's Guide de l'époque. Une alternative pourrait consister à coder une macro et à l'appeler depuis ton app. Mais dans les 2 cas tu as accès à toutes les fonctionnalités donc pas besoin de réinventer la roue en générant un doc au format XML ! Enfin tu devrais trouver des exemples d'utilisation et peut-être même des solutions fonctionnelles sur les sites référencant les projets similaires. De nouveau à l'époque OOoMacros était une mine d'or en la matière et je me souviens aussi d'excellents didacticiels.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Points : 53
    Points
    53
    Par défaut
    Bien le bonjour,

    je vais donc jeter un coup d'oeil à UNO ou au OOo dont je ne sais rien, ni même le nom de son "équivalent moderne".
    Appeler une macro externe, pourquoi pas, j'ai quand même pour objectif d'aller au plus simple, et du coup je serai curieux de trouver un exemple de macro Et une méthode pour l’exécuter depuis une fichier c++.

    Merci pour vos aides, si vous avez des compléments ou des sources à m'indiquer, je suis preneur, cela m'aiderai beaucoup, pour mieux comprendre et accélérer mon apprentissage.

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Pour l'exécution depuis le C++, tu n'as que deux possibilités: faire le travail à la main, ou passer par uno.

    Regarde la documentation de uno, ca ne me semble pas trop difficile.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 114
    Points : 53
    Points
    53
    Par défaut
    Comme je n'aime pas laisser mourir un forum, je fais un message rapide.
    Je ne trouve pas le temps de tester cette solution,qui semble pourtant être la bonne, donc je me garde le tuyau sous la main et m'y pencherai dés que j'aurai un peu de temps je l'espère.
    A première vue c'est vraiment l'outil qui va bien, reste à voir si j'ai les compétences et patience de le mettre en oeuvre.

    Merci mille fois

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/10/2016, 17h28
  2. Réponses: 2
    Dernier message: 10/10/2016, 21h43
  3. Réponses: 1
    Dernier message: 28/10/2015, 17h20
  4. Modification d'une cellule d'un CellTable depuis une autre cellule
    Par guillaume06 dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 22/02/2011, 17h05
  5. Réponses: 3
    Dernier message: 16/10/2007, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo