Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1538 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PHPExcel : problème de temps d'exécution sur le serveur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHPExcel : problème de temps d'exécution sur le serveur

n°1698096
-mh-
Posté le 06-03-2008 à 11:29:36  profilanswer
 

Bonjour,
 
je dois réaliser en PHP un export de données sous forme de fichier Excel.
J'ai regardé différentes classes PHP existantes permettant de réaliser ce genre de choses et j'ai retenu pour mes tests "PHPExcel" :
http://www.codeplex.com/PHPExcel
 
PHPExcel semble me convenir pour plusieurs raisons :
- ajout d'images dans une page Excel
- mise en page possible
- peut générer des fichiers Excel 2005, Excel 2007, Excel Html, etc...
- des exemples précis fournis et une doc assez claire
 
Les utilisateurs à venir ayant la version 2005 d'Excel, j'ai choisi de générer des fichiers au format Excel 2005.
Les fichiers générés comportent de nombreuses images : une image (environ 100 ko) par ligne pour des fichiers pouvant contenir une bonne centaine de lignes.
 
Pour mon test, j'ai utilisé leur exemple 14excel5.php qui comporte quelques images. Je ne réussis alors pas à générer mon fichier car le temps d'exécution maximal du serveur est atteint ( message d'erreur : "Maximum execution time of 180 seconds exceeded" ).
Si je supprime deux des quatre images de cet exemple, j'arrive à générer le fichier qui est lisible et correct par la suite. Ça fait quand même très long trois minutes pour mettre deux petites images dans un fichier Excel ! Je ne vois pas quel peut être le problème (un paramètre du serveur, la lib GD de PHP ?), c'est pour cela que je me tourne vers vous.
 
Pour information, je développe sous Windows XP en PHP 5.2.0, j'utilise Wamp (Apache2). Mon code doit ensuite se retrouver sur un serveur linux (Apache2 aussi).
 
Je vous remercie d'avance des réponses que vous pourrez m'apporter.
Je suis preneuse de toute information concernant l'export de fichier vers Excel :)


---------------
Avant de savoir, on ne sait pas.
mood
Publicité
Posté le 06-03-2008 à 11:29:36  profilanswer
 

n°1698206
CyberDenix
Posté le 06-03-2008 à 13:32:23  profilanswer
 

Tu peux essayer de modifier ton php.ini :

Code :
  1. max_execution_time = 0     ; Maximum execution time of each script, in seconds


 
Sinon si cela t'es impossible, passe par les fonctions php ini_alter() ou ini_set() :

Code :
  1. ini_alter('max_execution_time', '0')


Message édité par CyberDenix le 06-03-2008 à 13:33:09

---------------
Directeur Technique (CTO)
n°1698268
-mh-
Posté le 06-03-2008 à 14:45:51  profilanswer
 

Si je mets le max_execution_time à 0, il n'y a plus de limite de temps d'exécution et donc ça marche sans problème si ce n'est le temps que ça met !
J'ai mis trois images et la génération du fichier a pris 6 minutes 40 secondes ! C'est énorme pour de si petites images ! Le fichier excel pèse au final 240 ko.
 
Je cherche vraiment à diminuer ce temps de génération de fichier car ça ne me semble pas normal, personne n'utiliserait ce PHPExcel si c'était aussi long et moi la première d'ailleurs. Le problème c'est que je ne vois pas quel peut être le problème :)


---------------
Avant de savoir, on ne sait pas.
n°1698552
CyberDenix
Posté le 06-03-2008 à 21:45:13  profilanswer
 

Si ta classe Excel est trop lente, je te conseille de générer toi-même ton fichier Excel en étudiant le langage XML utilisé par Microsoft.
 
Par exemple pour Excel 2003 (reconnu aussi dans 2007), il faut utiliser le SpreadSheetML.
 
Pour les images tu auras (peut-être, j'en sais rien  :D ) besoin du module GD2 de php.


Message édité par CyberDenix le 06-03-2008 à 21:46:51

---------------
Directeur Technique (CTO)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PHPExcel : problème de temps d'exécution sur le serveur

 

Sujets relatifs
Probleme ciblage classes pour eviter _root[Résolu] file_exists et erreurs 404 serveur.
Radio Zanorg sur serveur FTP[résolu] Problème sur formulaire, enregistrement dans BD
[PHP-PostgreSQL] Problème d'échappement de caractères[PHP] Après update serveur. Script de log ne fonctionne plus
Mail html : Décallage IE => soluce et nouveau problèmeprobleme tri par fusion de tableau
Probleme javascript en rubyconnexion serveur/client python
Plus de sujets relatifs à : PHPExcel : problème de temps d'exécution sur le serveur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR