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

MATLAB Discussion :

mise en forme de tableaux avec report generator


Sujet :

MATLAB

  1. #1
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2014
    Messages : 82
    Points : 45
    Points
    45
    Par défaut mise en forme de tableaux avec report generator
    Bonjour,
    J'utilise report generator pour mettre des tableaux de cellules contenant des textes (djà formaté) dans un rapport word. (tableaux de cellules produit dans une autre application matlab).

    mon problème est que une fois le texte dans le tableau word le formatage fait dans matlab est perdu. En particulier les retour à la ligne obtenu en insérant des char(10) dans matlab sont supprimés dans le tableau word.


    par example le texte ci dessous dans matlab (lers "points virgule return " sont volontaires
    ;
    ;
    ;
    ;
    ;
    [Local operator has to open the valve (MR00131)];
    [Local operator has to open the valve (MR00133)];



    devient dans word
    ; ; ; ; ; [Local operator has to open the valve (MR00131)]; [Local operator has to open the valve (MR00133)];

    on voit que word a supprimé tous les " return" ( et word ne va à la ligne que si le mot suivant ne tient pas dans la case du tableau)

    or j'ai besoin de retrouver dans word la mise en forme que j'avais dans matlab. je pense que le caractère char(10) utilisé pour "aller à la ligne " dans matlab devrait être remplacé par un autre dans word (mais lequel?)

    Merci pour votre aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2014
    Messages : 82
    Points : 45
    Points
    45
    Par défaut
    Pour compléter ma question.
    A force de chercher j'ai découvert comment modifier la mise en forme du résultat dans la cellule du tableau word
    il faut faire rechercher ";" remplacer "^l"
    ou le caractère special ^l signifie un 'saut de ligne manuel' aussi appeler 'saut de ligne souple' à ne pas confondre avec le saut de paragraphe qui est le caractère codé 0167.

    bon je cherche maintenant le code du caractère spécial ' ^l ' de word pour essayer de modifier mon texte matlab avant de l'envoyer à word.
    Pour l'instant je ne trouve pas.
    help please.

  3. #3
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432

  4. #4
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2014
    Messages : 82
    Points : 45
    Points
    45
    Par défaut
    oui
    j'"avais trouvé cet article

    ca fonctionne evidemment avec rechercher remplacer dans word.

    dans mon cale le mieux est de remplacer "; " par "^l" (caractère special "saut de ligne manuel".

    mais le but de mon travail est de créer un process de documentation automatique à) partir de matlab et il me faut éviter un travail ultérieur sur le fichier word.

    donc ca ne répond pas vraiment à mon besoin

    Merci

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 884
    Points
    52 884
    Par défaut
    Pourrais-tu nous donner un exemple minimal d'un tableau de cellules que tu cherches à convertir en Word ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  6. #6
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2014
    Messages : 82
    Points : 45
    Points
    45
    Par défaut
    Bonjour Mr Briot

    j'ai fait un exemple en simplifiant beaucoup le sujet sur lequel j'essaye d'avancer (en matlab R2016B)

    pour faire marcher l'exemple mettre les 4 fichiers suivants dans un répertoire quelconque (du path), puis executer la fonction CreeRapportSimplifie.m (aucun paramètre)

    la fonction doit ouvrir word et générer un document word identique à myreport.docx.

    le résultat souhaité est donné par le word myreport_tel que souhaite.docx qui diffère dans les colone 4 et 7 du tableau par un retour à la ligne systematique après chaque " ; "

    le fichier mat MR1_Simplifie.mat contient une seule variable MR1_Table_PhaseDescriptionInit qui est un tableau de cellule, on regarde seulement les colones 4 et 7 de ce tableau.

    en tapant A=MR1_Table_PhaseDescriptionInit{2,4} (par exemple) , on obtient la mise en forme que je voudrais avoir dans le tableau word

    Malheureusement le transfert retire tout les char(10) (ou les remplace par des espaces) et ensuite fait tenir le texte dans la cellule du tableau avec un résultat qui dépend de la largeur de la colonne du tableau.

    j'ai une piste en transformant chacune de mes variables en un tableau de cellule puis en exportant , mais dans ce cas là j'ai une liste avec des puces dans les cellule de mon tableau word et je ne trouve pas comment enlever les puces depuis Matlab (plus exactement je ne trouve pas le style à appliquer dans les objets de report generator pour obtenir un résultat de liste avec des puces invisibles et sans tabulation.)

    Report générator c'est pas facile !

    myreport.docxmyreport_tel que souhaite.docxCreeRapportSimplifie.txtMR1_Simplifie.txt


    attention le fichier CreeRapportSimplifie.txt est à renomer en CreeRapportSimplifie.m
    et MR1_Simplifie.txt est à renommer en MR1_Simplifie.mat

    sinon je n'arrive pas à joindre les ficher dans cet outil (??)

    bon courrage et Merci

  7. #7
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2014
    Messages : 82
    Points : 45
    Points
    45
    Par défaut Ca avance un peu
    Bonjour
    je n'ai pas résolu mon problème, mais j'ai mis en place une solution de contournement.
    en gros j'ai écrit une fonction qui transforme mes chaines de caractère (initialement dans un tableau) avec des char(10) en un tableau de cellule.
    Ensuite j'ajoute à mon tableau à exporté le nombre de lignes nécessaisres et j'insère mon tableau de cellule dans les cellules des lignes supplémentaire (appelons les lignes secondaires).
    Enfin je travaille la mise en forme de mon tableau avec report generateur de telle façon que les lignes secondaires ajoutées ne soient pas visiblet et les ligne principales soient visibles (bordure haute et basse).

    une fois fait cela sur toutes les lignes principales de mon tableau j'ai un nouveau tableau de cellules avec beaucoup plus de lignes que j'exporte en une fois vers word.

    le résultat est tout à fait satisfaisant sauf que mes lignes de tableau sont encore trop hautes, car le "return " mis par report générator est interprété par Word comme un saut de paragraphe avec un espacement de 6 points après.
    Et depuis Matlab, pour l'instant, je n'arrive pas à corriger cela. Il me faudrait accéder au format par défaut du "return".

    A vrai dire je tâtonne beaucoup car je ne trouve pas de documentation compréhensible sur cet outil, permettant de comprendre sa logique et la priorité entre les différents outils de formatage..

    J'ai l'impression qu'il n'y a pas beaucoup d'utilisateurs de "report generator" en France ???

    Néanmoins j'ai déjà un rapport produit de façon totalement automatique et plutôt satisfaisant. On va persevérer.

    bonne journée

Discussions similaires

  1. Mise en forme des tableaux en RML (Report Makup Language)
    Par stoneberg dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 14/06/2016, 16h27
  2. [CR9] Mise en forme de champ avec des formats
    Par Sytchev3 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 01/03/2007, 16h35
  3. [ImageMagick] Mise en forme du texte avec imagettftxt
    Par jersey_girl dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 22/01/2007, 04h56
  4. [CR XI]Mise en forme et tableaux
    Par neo.51 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 05/09/2006, 10h51
  5. [ACCESS-EXCEL] Mise en forme des tableaux
    Par mpascolo dans le forum Access
    Réponses: 4
    Dernier message: 20/10/2005, 16h03

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