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

Langage PHP Discussion :

Boîte de dialogue "Enregistrer sous"


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Points : 15
    Points
    15
    Par défaut Boîte de dialogue "Enregistrer sous"
    Bonjour,

    Savez-vous s'il est possible de faire apparaître une boîte de dialogue "Enregistrer sous" en PHP ?
    Sinon, comment enregistrer un fichier excel sur le poste de l'utilisateur, et pas sur le serveur ?

    Merci !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    Je n'en ai aucune idée, mais je me dis que c peut etre possible de le faire en utilisant le meme systeme que pour les pdf, avec le content type dans le header.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Points : 15
    Points
    15
    Par défaut
    OK... Et tu sais où je peux trouver de la doc à ce sujet ?

  4. #4
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Pour enregistrer un fichier Excel, je procède en 2 étapes :
    1 - je crée une chaîne de caractères au format .csv et je l'enregistre dans une variable de session $_SESSION['xls_output'];

    2 - j'appelle un code php qui est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
    	header("Content-type: application/vnd.ms-excel");
    	header("Content-disposition: attachment; filename=NomDuFichierExcel".".csv");
    	session_start();
     
    	print $_SESSION['xls_output'];
     
     
    	exit;
    ?>
    Quant à créer directement un fichier Excel (avec mise en forme), bon courage. J'avais vu plusieurs projets visant à écrire directement du .xls, mais c'était toujours très compliqué.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Points : 15
    Points
    15
    Par défaut
    Merci je vais essayer...
    Pour ma part, j'ai réussi à créer mon fichier excel grâce au site http://www.bettina-attack.de/jonny/v...iteexcel/demo/ et en y apportant qq modifs...
    Et franchement c nickel !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Points : 15
    Points
    15
    Par défaut
    Ca y est j'ai trouvé la solution !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $fileName = "C:\export_comm_bso.xls";
    header('Content-disposition: attachment; filename='.$fileName); 
    header('Content-Type: application/force-download');
    Merci pour votre aide

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Points : 15
    Points
    15
    Par défaut
    En fait je me suis un peu emballée

    Ca ne marche pas très bien dans le sens où le fichier téléchargé est incorrect.
    En fait il essaie de sauvegarder ce que j'affiche sur ma page après l'export excel, pas le fichier excel en soi !

    Une idée ?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 33
    Points : 15
    Points
    15
    Par défaut
    Bon bon je m'affole pour pas grand chose, j'avais pas mis tout le code !

    Alors voici le code complet pour ceux que ça intéresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    header('Content-disposition: attachment; filename='.$fileName); 
    header('Content-Type: application/force-download'); 
    header("Content-Transfer-Encoding: binary"); 
    header("Content-Length: ".filesize($fileName));
    header("Pragma: no-cache");
    header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    header("Expires: 0");
    readfile($fileName);
    Bonne soirée !

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

Discussions similaires

  1. Réponses: 22
    Dernier message: 29/06/2015, 15h04
  2. [C#] Boîte de dialogue "Enregistrer sous"
    Par TmDsbsBs dans le forum ASP.NET
    Réponses: 22
    Dernier message: 31/10/2013, 18h55
  3. Modifier le boîte de dialogue "Enregistrer sous"
    Par FCL31 dans le forum VBA Word
    Réponses: 33
    Dernier message: 17/04/2008, 17h45
  4. Boîte de dialogue "Enregistrer sous"
    Par scrouet dans le forum VBA Word
    Réponses: 6
    Dernier message: 25/01/2008, 20h01

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