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

PHP & Base de données Discussion :

Exporter des données vers Excel depuis php


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Par défaut Exporter des données vers Excel depuis php
    Bonjour, je chercher à exécuter une requête puis l'exporter vers Excel (le but final étant de faire un publipostage).

    Le code n'exporte rien et affiche seulement une ligne

    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
    <?php
    include "connec.inc.php";
    //Requete SQL
    $query = "SELECT `id_rdv`,`intitule_rdv`,`desc_rdv`,`date_debut`,`date_fin`, `couleurrdv` "
    ."FROM `rdv`;";
    //WHERE ...
     
    $result = mysql_query($query)
    or die('Erreur SQL !<br />' . $query . '<br />' . mysql_error());
     
    while($row = mysql_fetch_array($result)) 
    {
    	$csv_output = "$row[id_rdv];$row[intitule_rdv];$row[desc_rdv];$row[date_debut];$row[date_fin];$row[couleurrdv]";
    	$csv_output .= "\n";
    	//$csv = utf8_encode($csv_output);
    }
     
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: attachment; filename=Export_" . date("Ymd").".xls");
    print $csv_output;
    //print $csv;
    exit;
    ?>
    affichage dans une feuille internet
    6-0001;GAIA;l'espace;2008-03-04 14:00:00;2008-03-04 17:00:00;#97BA3A

    Quelqu'un voit il quelque chose

  2. #2
    Membre éprouvé Avatar de bartrik
    Inscrit en
    Novembre 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 104
    Par défaut
    essaye comme ça
    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
    <?php
    include "connec.inc.php";
    //Requete SQL
    $query = "SELECT `id_rdv`,`intitule_rdv`,`desc_rdv`,`date_debut`,`date_fin`, `couleurrdv` "
    ."FROM `rdv`;";
    //WHERE ...
     
    $result = mysql_query($query)
    or die('Erreur SQL !<br />' . $query . '<br />' . mysql_error());
     $csv_output = "";
    while($row = mysql_fetch_array($result)) 
    {
    	$csv_output .= "$row[id_rdv];$row[intitule_rdv];$row[desc_rdv];$row[date_debut];$row[date_fin];$row[couleurrdv]";
    	$csv_output .= "\n";
    	//$csv = utf8_encode($csv_output);
    }
     
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: attachment; filename=Export_" . date("Ymd").".xls");
    print $csv_output;
    //print $csv;
    exit;
    ?>
    parce que dans ton while, tu réinitialise cvs_output a chaque fois...

  3. #3
    Membre éclairé Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Par défaut
    merci pour la réponse ça m'affiche en effet dans mes data. Mais ça ne me l'exporte pas dans un fichier excel

    Est-ce que tu vois l'erreur....

  4. #4
    Membre éprouvé Avatar de bartrik
    Inscrit en
    Novembre 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 104
    Par défaut
    Pour sur que cela ne crée pas de fichier, ton script ne le fait pas, tu ne fais que de l'affichage.

    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    header("Content-type: application/vnd.ms-excel");
    header("Content-disposition: attachment; filename=Export_" . date("Ymd").".xls");
    print $csv_output;
    tu fais quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $filename="nomdufichier.csv";
    if (!$handle = fopen($filename, 'w+')) {
        echo "Impossible d'ouvrir / creer ($filename)";
        exit;
    } elseif (fwrite($handle, $csv_output) === FALSE) {
        echo "Impossible d'ecrire dans le fichier ($filename)";
        exit;
    } else {
        echo "Ecriture ($filename) OK";
        fclose($handle);
    }
    ça devrais allez mieux...

  5. #5
    Membre éclairé Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Par défaut
    je me disais bien que le code trouvé sur un forum ne fonctionnait pas. Merci pour le code.

    Par contre :

    1. Je voulais savoir si on pouvait indiquer un chemin pour l'export(C:\....). Parce qu'il me crée dans le répertoire www de easyphp

    2. Il me met une erreur quand j'ouvre le fichier (il m'affiche tout dans une cellule

Discussions similaires

  1. exporter des données vers excel
    Par joe370 dans le forum VBA Access
    Réponses: 6
    Dernier message: 28/06/2007, 13h16
  2. [Tableaux] Exporter des données vers Excel
    Par SkyBack dans le forum Langage
    Réponses: 4
    Dernier message: 29/01/2007, 16h55
  3. exporter des données vers Excel
    Par vautour29 dans le forum Access
    Réponses: 10
    Dernier message: 12/12/2006, 17h15
  4. [En cours]Exporter des données vers Excel
    Par Muhad'hib dans le forum Contribuez
    Réponses: 2
    Dernier message: 12/01/2006, 14h25
  5. exporter des données vers EXCEL!
    Par JauB dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 25/11/2005, 15h13

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