Re
9a parait compliqué pour moi
Tu dis de ne pas ajouter autre chose que phpexcel,mais en fait j'ai ajouter les classes au fur à mesure des messages d'erreur classe manquante.
L'autoload quelqu'en soit la manière ne fonctionne pas.
Re
9a parait compliqué pour moi
Tu dis de ne pas ajouter autre chose que phpexcel,mais en fait j'ai ajouter les classes au fur à mesure des messages d'erreur classe manquante.
L'autoload quelqu'en soit la manière ne fonctionne pas.
Je suis toujours en attente d'un zip avec l'ensemble de ton code.
c'est que tu as éditer à la main PHPExcel. Si tu es sur de ton coup, essaie de poser un bug report sur le site de l'éditeur...L'autoload quelqu'en soit la manière ne fonctionne pas.
Sérieusement, il faut donner plus d'indices, on arrive au bout de ce qu'on peut faire avec les maigres infos que tu donnes.
Bonjour,
Je viens de constater que ma réponse d'hier n'était pas passée...
En fait j'ai du mal à comprendre ta méthode...
Tu dis de n'inclure que phpexcel, mais comme les mèthodes d'autoload ne fonctionnaient pas j'ai inclus ligne par ligne les classes nécessaires.
Franchement je suis un peu decouragé.
Quand j'ai vu le didac de MaitrePylos je pensais pas avoir autant de problèmes pour utiliser cette librairies.
Bon je vais avancer sur les autres parties de mon appli et je reviendrai sur excel après.
Merci
Quand tu reviendras à la partie excel de ton appli:
tente ce truc:
1) on remplace include par require_once !
2) on remplace le simple include (require_once maintenant) par ceci:
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
17
18 //ce genre de fonction on devrait les vendre tellement c'est précieux. function debugInclude(){ echo "<pre>classes existantes \n", print_r(get_declared_classes()), "\n autoloads \n", print_r(spl_autoload_functions()), "\n fichiers inclus \n", print_r(get_included_files()), "\n état de la pile \n", print_r(debug_backtrace()), '</pre>'; } require_once '....mon/chemin/PHPExcel.php'; debugInclude(); die("on m'assassine!");
2 solutions:
- si ton code meurs en affichant ayant défini les classes PHPExcel, la classe Autoload de PHPExcel, alors c'est toi qui ne sait pas appeler tes classes. Tu as probablement ignoré trop de messages d'avertissement.
- si ton code ne meurs pas, c'est que l'inclusion n'est pas faites et que l'erreur est ailleurs.
Bonjour,
Bon je vais encore essayer un peu.
J'ai fait comme tu disais gene69, j'ai ajouté ta fonction voir le résulat en pièce jointe.
MaitrePylos pour le code comme je te l'ai mis j'ai juste mis un minimum que j'ai déja affiché, puisque ça plante.
Je remet le code qui a généré le résultat de la piece jointe.
Voila la partie code concernant phpexcel est directement issue de ton didac MaitrePylos.
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <?php function debugInclude(){ echo "<pre>classes existantes \n", print_r(get_declared_classes()), "\n autoloads \n", print_r(spl_autoload_functions()), "\n fichiers inclus \n", print_r(get_included_files()), "\n état de la pile \n", print_r(debug_backtrace()), '</pre>'; } function myAutoload($classe) { //echo "$classe<br>"; echo "debug: looking for ",$classe, "<br/>\n"; var_dump(get_declared_classes()); $fichier = str_replace ( '_', # Caractère à remplacer. DIRECTORY_SEPARATOR, # Caractère de remplacement. $classe # Cible du remplacement. ) . '.php' ; //echo $fichier; require_once($fichier) ; # Chargement de la classe. } spl_autoload_register('myAutoload'); debugInclude(); $fichierModele="modeles/dem_assurance_05.xls"; $fichierSortie="modeles/test_assurance.xls"; $objet = PHPExcel_IOFactory::createReader('Excel5'); $excel = $objet->load($fichierModele); $sheet = $excel->getSheet(0); $sheet->setCellValue('A20', 'MaitrePylos'); $writer = PHPExcel_IOFactory::createWriter($excel); $writer->save($fichierSortie); ?>
Je vous remerçie pour votre aide c'est vraiment sympa....
Je confirme un problème de droits sur les fichiers PHPExcel
Hi!
Je débarque déterre un topic, sorry mais j'ai rencontré un problème similaire, il suffisait de spécifier la version de Excel utilisée
En espérant que ça en aide quelques uns
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 <?php require_once 'Classes/PHPExcel.php'; $objet = new PHPExcel_Reader_Excel5(); $excel = $objet->load('mon/fichier/source.xls'); $sheet = $excel->getSheet(0); $sheet->setCellValue('C6', 'TEST'); $writer = PHPExcel_IOFactory::createWriter($excel, "Excel5"); $writer = new PHPExcel_Writer_Excel5($excel); $writer->save('mon/fichier/destination.xls');;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager