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 :

[Excel] Télécharger Fichier Excel


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2013
    Messages : 58
    Points : 66
    Points
    66
    Par défaut [Excel] Télécharger Fichier Excel
    Bonjour à tous,

    Avant d'écrire ce message, j'ai pris soin de lire tous les sujets ressemblant au mien, mais toujours pas de solution.
    J'expose mon problème :
    J'utilise un code php pour permettre aux utilisateurs de télécharger un tableau à partir d'une page web sous forme d'un fichier excel voila un extrait du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    header("Content-type: application/ms-excel; name='excel'");
    header("Content-Disposition: attachement; filename=Test.xls");
    header("Pragma: no-cache");
    header("Expires: 0");
    jusqu'à maintenant tout est correct le fichier est bien enregistrér mais le problème se pose lorsque je veux ouvrir ce fichier il me génère une erreur que le format est invalide lorsque je met ".xlsx" comme extension et quand je la remet en ".xls" il me dit que le fichier est endommagé et si je choisi d'ouvrir le fichier quand même ce dernier s'ouvre correctement
    comme puis-je résoudre ce problème svp
    Note:j'ai essayer de le télécharger comme étant un .csv mais il me génère que du code html
    Merci à vous

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    pour le csv, peux-tu essayer


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    header("Content-type: text/csv");      // ou header('Content-type: application/octetstream');
    header('Content-Length: ' . filesize($data));
    header('Content-Disposition: attachment; filename="export.csv"');

  3. #3
    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
    Pourquoi essaies-tu de mettre une extension .xlsx si c'est un format .xls ?

    Il faudrait que tu regardes dans tes logs PHP (ou dans le fichier lui même lu dans un editeur de texte) s'il n'y a pas des erreurs PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2013
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    Merci pour ta réponse;en fait j'ai déjà essayer cette solution mais comme j'ai cité dans le problème que lorsque je change au fichier csv le fichier excel s'ouvre mais avec des balises HTML
    voila un extrait du résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <thead>
    	<tr>
    		<th class=\""header\"">Nom</th>
    		<th class=\""header\"">/Prenom</th>
    		<th class=\""header\"">/Ntel</th>
    		<th class=\""header\"">Adresse</th>
    	</tr>
    </thead>
    <tbody><tr class=\""even\""><td>bgt</td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2013
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Pourquoi essaies-tu de mettre une extension .xlsx si c'est un format .xls ?

    Il faudrait que tu regardes dans tes logs PHP (ou dans le fichier lui même lu dans un editeur de texte) s'il n'y a pas des erreurs PHP.
    No,dans le log il n'y a rien qui cloche tout est bien.

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 076
    Points : 4 392
    Points
    4 392
    Par défaut
    Citation Envoyé par achorim Voir le message
    lorsque je change au fichier csv le fichier excel s'ouvre mais avec des balises HTML
    voila un extrait du résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <thead>
    	<tr>
    		<th class=\""header\"">Nom</th>
    		<th class=\""header\"">/Prenom</th>
    		<th class=\""header\"">/Ntel</th>
    		<th class=\""header\"">Adresse</th>
    	</tr>
    </thead>
    <tbody><tr class=\""even\""><td>bgt</td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0 </td><td>0
    Bonjour, ce code n'est pas du xls, xlsx ou csv !
    comment générez - vous ce fichier excel ? avec phpexcel ?
    $moi= ( !== ) ? : ;

  7. #7
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2013
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    non j'utilise pas le phpexcel,juste je télécharge un tableau html en excel avec le code que j'ai cité avant

  8. #8
    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
    je télécharge un tableau html en excel
    Un fichier html auquel tu mets une extension .xls ne devient pas un fichier excel.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2013
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    normalement on doit proposer aux utilisateurs de télécharger le tableau qui est sur une page web sous forme d'excel c'est ça le besoin,le problème c'est que j'arrive à le télécharger mais avec une erreur disant que le fichier que je tente d'ouvrir a une extension différente et qu'il est endommagé et il me demande de l'ouvrir quand même si je choisi oui le fichier excel s'ouvre correctement!

  10. #10
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 076
    Points : 4 392
    Points
    4 392
    Par défaut
    Oui, excel est capable de lire du html (un tableau), simplement vous essayez de tromper excel, en lui faisant croire que le fichier est au format excel, lui il est pas bête, il affiche un message, en disant que le format n'est pas le bon (mais un format html).

    Il faut transformer ce tableau en .csv :
    ce format est très très simple , plus facile a générer que de l'html.
    $moi= ( !== ) ? : ;

  11. #11
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2013
    Messages : 58
    Points : 66
    Points
    66
    Par défaut
    comment puis-je faire ça????en fait moi j'utilise une bibliothèque jQuery pour récupérer les data

Discussions similaires

  1. Télécharger fichier Excel depuis le Web
    Par GuimB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2015, 14h33
  2. Télécharger fichier excel
    Par moumoune65 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/06/2008, 14h28
  3. télécharger fichier wav/mp3
    Par ghotique dans le forum Multimédia
    Réponses: 1
    Dernier message: 17/05/2007, 10h57
  4. comment télécharger fichier dont le nom contient &
    Par issaivo dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 30/12/2006, 00h44
  5. Télécharger fichier en java
    Par Belegkarnil dans le forum Langage
    Réponses: 2
    Dernier message: 29/08/2006, 08h53

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