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

Bibliothèques et frameworks PHP Discussion :

[PHPExcel] graphiques


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 49
    Par défaut [PHPExcel] graphiques
    Bonjour,
    Je développe actuellement un script permettant de transférer des données vers des fichiers Excel existants avec la librairie PHPExcel.

    Cependant, lors de l'enregistrement d'un fichier Excel en PHP, si celui-ci contient des graphiques, ils disparaissent automatiquement.
    J'ai l'impression que PHPExcel ne gère pas les graphiques existant dans un fichier, mais peut être que je me trompe...
    Il y a t-il une option à ajouter à mon script pour qu'il laisse intacts les graphiques dans le fichier ?
    Ou alors se n'est pas gérable pour le moment ?
    Merci.


    EDIT : j'ai pas précisé, mais je travail sur des fichiers xlsx, donc j'utilise la version Excel2007

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut utiliser setIncludeCharts() lors de la lecture et lors de l'écriture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $objReader = PHPExcel_IOFactory::createReader('Excel2007');
    //  Tell the reader to include charts when it loads a file
    $objReader->setIncludeCharts(TRUE);
    //  Load the file
    $objPHPExcel = $objReader->load("33chartcreate-bar.xlsx");
     
     
    //  Do some stuff to the file
     
     
    //  Create a writer for an Excel2007 file
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    //  Tell the writer to include any charts when it saves a file
    $objWriter->setIncludeCharts(TRUE);
    //  Save the file
    $objWriter->save(str_replace('.php', '.xlsx', __FILE__));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 49
    Par défaut
    Merci beaucoup !
    Décidément tu m'aura beaucoup aidé sur PHPExcel

  4. #4
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 49
    Par défaut
    Bonjour,
    Je revient vers vous car j'ai un autre problème...
    Les graphiques existant sont bien toujours présents, mais si celui-ci est "stylisé" d'une autre manière que le thème de base, le thème de base lui est appliqué.
    Il y a t'il une fonctionnalité permettant de conserver le style du graphique ?
    Merci.

  5. #5
    Candidat au Club
    Femme Profil pro
    Autre
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Par défaut
    Bonjour,

    J'ai voulu appliquer la méthode donnée par sabotage mais cela ne fonctionne pas :

    Cas 1 : lorsque j'utilise le code tel quel, il ne se passe rien, mon fichier ne se met pas à jour (d'après code dans // Do some stuff to the file) mais s'ouvre correctement avec les graphiques existants.

    Cas 2 : lorsque je remplace le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objWriter->save(str_replace('.php', '.xlsx', __FILE__));
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objWriter->save('monfichier.xlsx');
    , mon fichier se met bien à jour (d'après code dans // Do some stuff to the file) mais à l'ouverture une fenêtre indique "Excel a rencontré un contenu illisible. Voulez-vous récupérer le contenu de ce classeur ?" et si on répond "Oui", on se retrouve avec un fichier Excel réparé et les graphiques ont disparu...


    Quelqu'un aurait-il une idée sur le problème ?

    Par avance, un grand merci pour vos lumières.

  6. #6
    Candidat au Club
    Femme Profil pro
    Autre
    Inscrit en
    Avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2012
    Messages : 3
    Par défaut
    J'avance un peu sur mon problème : je constate qu'un test sur un graphique simple fonctionne...Le problème viendrait-il alors de graphiques trop élaborés sous Excel ?...

    EDIT : pour contourner le problème, j'ai donc écrit une macro VBA qui se lance à l'ouverture du fichier par PHPExcel et qui crée les graphiques souhaités.

Discussions similaires

  1. PHPExcel, Problème avec la formule SERIE.JOUR.OUVRE
    Par edouard.danaradjou dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 05/02/2014, 10h09
  2. C++/CLI : problème avec graphique
    Par jlg_47 dans le forum C++/CLI
    Réponses: 7
    Dernier message: 19/01/2014, 01h56
  3. [XL-2010] Problème avec graphique et affichage en abscisse
    Par Galgante dans le forum Excel
    Réponses: 4
    Dernier message: 15/09/2012, 14h52
  4. Problème avec graphique
    Par Mario Rousson dans le forum VB.NET
    Réponses: 1
    Dernier message: 10/09/2011, 04h12
  5. problème avec graphique dans état access
    Par petitmic dans le forum Access
    Réponses: 5
    Dernier message: 07/09/2005, 15h55

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