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 - Problème avec les header (ou pas)


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Points : 19
    Points
    19
    Par défaut PHPExcel - Problème avec les header (ou pas)
    Bonjour à tous,

    Description du besoin : J'ai une application web qui génère des devis avec possibilité d'export xls. Je sélectionne donc un nombre d'article et je demande l'export en fichier .xls.

    Le problème : suivant le nombre d'article, l'export se comporte différemment. ex : je sélectionne 12 articles -> export OK, si j'en sélectionne 13 -> message d'erreur : Le format du fichier que vous tentez d'ouvrir "toto.xls", est diffèrent de celui spécifié par l'extension de fichier. Assurez vous que le fichier n'est pas endommagé et qu'il provient d'une source fiable avant de l'ouvrir. Souhaitez vous ouvrir le fichier maintenant ?

    Ce qui est étrange c'est que cela fonctionne correctement sur mon serveur de DEV. les fichiers PHP.ini sont identiques sur les 2 serveurs. J'ai donc pensé qu'il pourrait y avoir un problème dans le header.

    Voici ce que j'ai :

    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
     
    $exportFile="AKOPQuote.xls";
     
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download; charset=UTF-8");
    header("Content-Type: application/octet-stream; charset=UTF-8");
    header("Content-Type: application/download; charset=UTF-8");
    header("Content-Disposition: attachment; filename=".$exportFile.";");
    header("Content-Transfer-Encoding: binary");
     
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
     
    $objPHPExcel->disconnectWorksheets();
    unset($objPHPExcel);
    unset($objWriter);
    Une idée? besoin de plus d'informations ?

    Merci pour votre aide.
    Alexis

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Ouvre le fichier que tu obtiens avec un editeur de texte pour voir s'il n'y a pas des erreurs PHP glissées au debut.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Points : 19
    Points
    19
    Par défaut
    Fichier vide de 0 octet.

    Pourtant l'objet $objPHPExcel contient bien toutes les informations.

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Enlève la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objWriter->save('php://output');
    et ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    au début du fichier pour voir s'il y a des choses qui se passent dans le traitement.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Points : 19
    Points
    19
    Par défaut
    Rien ne se passe, page blanche. Aucune erreur ni warning.

    Merci pour votre aide en tout cas

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour savoir si tu as un problème d'header (ce que je ne pense pas), tu peux faire le test avec aucun header.
    Au passage, je ne pense pas qu'on puisse déclarer plusieurs "Content-Type".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 37
    Points : 19
    Points
    19
    Par défaut
    J'ai honte ...

    J'avais laissé un set_time_limit(12) (au lieu de 120) en début de fichier ... Le serveur de DEV étant plus rapide -> aucun problème, en revanche sur le serveur de prod ça ne passait pas.

    Je fais un beau boulet. Merci quand même pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec les headers
    Par milach dans le forum Mise en forme
    Réponses: 2
    Dernier message: 16/06/2009, 10h17
  2. [CSV] Problème avec les header
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2008, 18h53
  3. Problème avec recordset, il peux pas lire les type binaire
    Par deeps123 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/04/2007, 16h22
  4. [préprocesseur g++]probléme avec les headers
    Par Gotmere dans le forum Autres éditeurs
    Réponses: 14
    Dernier message: 22/03/2007, 17h32
  5. Réponses: 1
    Dernier message: 24/12/2006, 00h09

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