Probleme php / phpexcel

Eléphant du PHP | 103 Messages

26 mars 2012, 14:02

Bonjour,

Je fais appel à vous car je bloque.
Je fais une exportation de données de ma base (mysql) vers un template Excel. Ce template contient un onglet "Graphique" qui trace des graphiques en fonction des données exportés de la base. Par défaut il a une plage de données, mais elle va changer constamment.

Ma question : Est-il possible de modifier la plage de données des graphiques avec php ? En gros avant, ou pendant, ou après (je sais pas) l'exportation des données, faire aussi la modification de la plage de données en fonction du nombre de colonne (connus).

Autre problème : J'enregistre mon template avec donc un onglet graphique, je le place dans mon dossier php et lorsque j'ouvre le template (avec phpexcel) mes premiers onglets (contenant des données) ne présentent pas de souci en revanche l'onglet du graphique n'est pas reconnu... J'ai un onglet vide :(

Merci de votre aide

Eléphant du PHP | 103 Messages

27 mars 2012, 16:42

Mes problèmes ne soulèvent aucune réponse ou solution ? :cry:

Eléphant du PHP | 103 Messages

02 avr. 2012, 10:14

J'ai peut être trouver quelque chose. Dans mon application php je genère des graphiques qui fonctionnent avec PHPexcel. Du coup est-ce que ce serait pas possible d'exporter ces mêmes graphiques dans une feuille excel lors d'exportation.

Dans l'application j'appelais les graphiques comme ceci :
<img src="graphe_collab.php" alt="Graphique Competences d'un collaborateur"/>

Du coup n'y aurait-il pas moyen de faire quelque chose comme :
$sheet3 = $excel->getSheetByName('Input_data3');
$sheet3->setCellValue("A1", "graphe_collab.php");

Indiquer la cellule de départ, puis le path... Je ne sais pas.

ViPHP
xTG
ViPHP | 7331 Messages

02 avr. 2012, 10:31

As-tu regardé la documentation ? Il y a de quoi insérer des images dans une feuille d'après leur page "features".

Eléphant du PHP | 103 Messages

02 avr. 2012, 10:37

J'ai regardé l'introduction à phpexcel sur le site de developpez. J'ai vu qu'il existe PHPExcel_Worksheet_Drawing() pour les images donc j'ai fait quelques essais qui pour l'instant ne sont pas concluants

Eléphant du PHP | 103 Messages

03 avr. 2012, 09:54

Je dois surement plus être trop loin de la solution avec ça :
$sheet4 = $excel->getSheetByName('Competences Generiques');
$img = new  PHPExcel_Worksheet_Drawing();
$img->setName('Competences comportementales');
$img->setDescription('Competences comportementales');
$img->setPath('D://Bureau//w7.png');
$img->setCoordinates('B6');
$img->setWorksheet($sheet4);
Le truc c'est que si pour le path je mets le lien d'une image qui est sur mon bureau (comme au dessus) ça marche, en revanche si je mets :
$img->setPath('graph_coll.php');
Excel s'ouvre bien mais j'ai aucune image. Pourtant j'ai testé sur mon application la page graph_coll et le graphique s'affiche correctement donc là je sèche un peu...

J'ai pensé à quelque chose. Peut être que quand je charge l'image présente sur mon bureau ça fonctionne parce qu'elle existe physiquement alors que quand je mets le lien de mon fichier php, le script est peut être interprété mais l'image n'est pas sauvée physiquement du coup ça génère rien... Ou peut-être qui faut lui donner une hauteur, une largeur... Enfin toute aide serait la bienvenue.

Merci

ViPHP
xTG
ViPHP | 7331 Messages

03 avr. 2012, 10:00

Essaies avec un chemin complet commençant par http.

Eléphant du PHP | 103 Messages

03 avr. 2012, 10:14

Un chemin commençant par http ?! Mais l'image que je veux générer est contenu dans un script php lui même contenu dans le dossier de mon site.

ViPHP
xTG
ViPHP | 7331 Messages

03 avr. 2012, 12:54

Bah oui... Mais il est accessible via le protocole http ce fichier. ;)
Je ne sais pas comment fonctionne Excel, mais peut être qu'il ne fait pas une copie de l'image, il effectue juste un lien.