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

Symfony PHP Discussion :

Ecrire dans un fichier docx avec symfony


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Ecrire dans un fichier docx avec symfony
    Bonjour à tous

    Existe-t-il un moyen d'écrire dans un fichier docx en chargeant le contenu depuis une base de données ?
    Je m'explique : j'ai un fichier docx vierge sauvegarder sur le serveur. Je veux donner la possibilité de remplir ce fichier avec le contenu de plusieurs entités issues d'une base de données et de pouvoir télécharger le fichier.

    J'utilise le bundle PHPOffice mais cela ne me permet pas d'atteindre mon objectif

  2. #2
    Membre confirmé
    Salut,

    En faisant quelques recherches je suis tombé là-dessus : https://ourcodeworld.com/articles/re...p-in-symfony-3
    Ensuite pour télécharger le fichier créé tu peux t'inspirer de ce qui est décrit ici : https://symfony.com/blog/new-in-symf...troller-helper

    Bon courage !

  3. #3
    Candidat au Club
    Merci beaucoup

    Effectivement j'ai lu cet article et j'ai implémenté la solution. La difficulté est qu'il n'y a pas moyen d'éditer un fichier docx préalablement sauvegarder sur le serveur à moins que tu créé directement le fichiers avec les méthodes du bundle...

    Ce qui ne répond pas à 100% à ce que je voulais fait

  4. #4
    Membre confirmé
    Dans ton premier message tu précises que le fichier Word est vierge, dans ce cas pourquoi ne pas créer un nouveau fichier via PHPWord ?
    Cela dit il semble possible de modifier un document existant : https://github.com/PHPOffice/PHPWord/issues/357

  5. #5
    Candidat au Club
    Merci beaucoup...
    ça marche bien seulement que le document généré ne garde pas la mise en forme du contenu de base.
    Pour être précis j'ai enregistré le contenu d'un sommaire dans une colonne d'une table de la base de données avec l'éditeur CKeditor depuis un formulaire, Mais lorsque je charge ce contenu dans le fichier docx créé à parti de phpword la mise en forme est perdue....

  6. #6
    Membre confirmé
    Si CKEditor stocke en base le code HTML sous forme de chaîne de caractères, ça devrait être possible en s'inspirant par exemple du template suivant donné en exemple : https://github.com/PHPOffice/PHPWord...le_26_Html.php

    Après il faut bien maîtriser la structuration du document Word pour bien identifier sur quels éléments agir (quels réglages modifier, dans quelle section ajouter quoi, etc.), et ça peut vite devenir galère dès que la mise en forme est un peu complexe.

  7. #7
    Candidat au Club
    Bonjour!!! Merci beaucoup

    ça marche