Export de table mysql vers excel

DJmomoclio Messages postés 7 Statut Membre -  
 Boursicot -
Bonjour a tous,
alors en fait je veux faire un export de mes tables faites avec php myadmin (inclus dans Easyphp 1.7) vers un fichier de type excel.
Si quelqu'un connait la methode pour le faire, ou bien possede un code pour cela qu'il me le dise .
Merci d'avance.
Tchao MOMO

11 réponses

  1. pm
     
    Bonjour,

    J'utilise pour cette fonction un script que j'ai téléchargé sur PHPscript (j'ai laissé les champs de ma base de données , je n'ai pas le courage de nettoyer le script) :

    <?
    /////////////////////////////////////////////////
    // Emans Rémi
    // Informaticien CNRS
    // emans@obs-banyuls.fr
    // sauvetable permet de sauvegarder une table au format excel.
    //
    ////////////////////////////////////////////////
    include("sql.inc");
    $db = mysql_connect($hote, $user, $password); // connexion à la base
    mysql_select_db("bdd",$db); // sélection de la base
    $req = mysql_query("SELECT * FROM table"); // on sélectionne les enregistrements
    $res = mysql_numrows($req); // on compte le nombre de résultats

    $file = ("bdd_fichier.xls"); // le fichier doit déjà exister
    if(!$myfile = fopen($file, "w")) //on ouvre le fichier
    {
    print("erreur: ");
    print("'$filename' n'existe pas!\n");
    exit;
    }

    WHILE($res!=$i) // 5. chaque fois que "$res" est dif. de "$i", donc qu'il y a un enreg.

    {
    $numero = mysql_result($req,$i,"***"); // on récupère les champs

    //ecriture
    fputs($myfile,"$numero\t $fiche\t $clef\t $object\t $cp\t $debut\t $fin\t $secteur\t $stade\t $comment\t $rec\t $ech\t $vpcp\t $vppcs1\t $vppcs2\t $vppcs3\t $vppcsd\t $vpas1\t $vpas2\t $vpas3\t $vpasd\t $vrcp\t $vrpcelsm\t $vrpcs1\t $vrpcs1\t $vrpcs2\t $vrpcs3\t $vrpcsd\t $vraelsm\t $vras1\t $vras2\t $vras3\t $vrasd\n"); //on insère une tabulation \t pour changer de colonne et un retour chariot \n pour changer de ligne

    $i++; // 8. on ajoute un au compteur et on retourne à WHILE
    }

    //fermeture fichier
    fclose($myfile); //on ferme le fichier
    echo "<center><h2>La table a été sauvegardée...</h2></center>";

    mysql_close(); // 9. on ferme la connexion
    ?>
    <form name="form0">
    <center><br><br><input type="button" value="Fermer" onClick="self.close()" name="button3"></center>
    </form>

    Bon courage
    7
    1. Helrick
       
      Salut
      Même 4 ans après ce code est très utile.
      Toutefois pourrais-ton m'expliquer s'il vous plait, ou on trouve le sql.inc ?

      Les variables :
      //ecriture
      fputs($myfile,"$numero\t $fiche\t $clef\t $object\t $cp\t $debut\t $fin\t $secteur\t $stade\t $comment\t $rec\t $ech\t $vpcp\t $vppcs1\t $vppcs2\t $vppcs3\t $vppcsd\t $vpas1\t $vpas2\t $vpas3\t $vpasd\t $vrcp\t $vrpcelsm\t $vrpcs1\t $vrpcs1\t $vrpcs2\t $vrpcs3\t $vrpcsd\t $vraelsm\t $vras1\t $vras2\t $vras3\t $vrasd\n"); //on insère une tabulation \t pour changer de colonne et un retour chariot \n pour changer de ligne


      sont affectées ou ? Elles contiennent quoi ?
      Je m'interroge.... Cela ne m'explique pas comment je dois créer la structure du fichier excel.

      Merci bcp
      0
      1. aynsoufiane > Helrick
         
        <?php

        header("Content-type: application/vnd.ms-excel");
        header("Content-Disposition: attachment; filename=nom_fichier.xls");


        // selectionner la base de données

        mysql_select_db($database_conn, $conn);
        $sql = "SELECT * FROM client";
        $sql = mysql_db_query($database_conn,$sql);

        $tbl= " <table border='0' cellpadding='0' cellspacing='0'>
        <tr bgcolor='#CCCCCC' height='40px'>
        <td>nom</td>
        <td>prenom</td>
        <td>email</td>
        </tr>";
        while ($data = mysql_fetch_array($sql))
        {
        $tbl = $tbl . "<tr>";
        $tbl = $tbl . "<td>" . $data[nom'] . "</td>";
        $tbl = $tbl . "<td>" . $data['prenom'] . "</td>";
        $tbl = $tbl . "<td>" . $data['email'] . "</td>";
        $tbl = $tbl . "</tr>";
        }
        $tbl = $tbl . "</table>";

        print $tbl ;
        ?>
        0
      2. steeve59510 Messages postés 13 Statut Membre > aynsoufiane
         
        MERCI bcp !!!
        Exactement ce qu'il me manquait !

        Steeve59510
        0
    2. helrick
       
      Bonjour
      J'ai déjà testé les méthodes ou les bouts de codes qui sont délivrés ici. Ils ne fonctionnent pas. du mois sur les machines de mon hébergeur mutualisé. J'ai pas^pu essayer ailleurs.
      0
  2. ric
     
    Bonjour
    Dans ma version de phpmyadmin 2.5.2, il ya dans "Exporter" l'option "Données CSV pour Ms Excel". C'est peut-être ça ?
    1
  3. kalamit
     
    Salut,
    Tu peux le coder toi meme au format csv. Il te suffit de faire un select * de la table qu'il te faut et de copier le résultat dans un fichier texte avec les données séparées par des ; que tu nommeras ton_fichier.csv. Excell l'ouvrira sans probleme.

    Kalamit,
    Vol au dessus d'un nid de Pika-baffe. :)
    1
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. yann
     
    il y a cette fonction qui genere des fichier CSV en ligne dynamiquement

    il suffit de mette un header CSV au debut de ta page puis d'ecrire les resultat de ta requete separe par des ; le flux http sera dirigé non pas vers une page mais vers un fichier un lien vers cette page de telecharger le fichier table.csv

    <?
    header("Content-Type: application/csv-tab-delimited-table");
    header("Content-disposition: filename=table.csv");
    mysql = "select n1,n2 from blabla";
    $q = mysql_query($sql);
    $donne = mysql_fetch_row($q);
    do
    {
    echo $donne[0].";".$donne[1].";\n"
    }
    while ($donne = mysql_fetch_row($q));

    ?>

    sinon il y a possibilité de travailler sur des vrai fichiers XLS je te donne le lien (j'ai pas eu le temps de tester encore )

    http://stephaneey.developpez.com/phpexcel/
    1
  6. DJmomoclio Messages postés 7 Statut Membre
     
    Salut Ric, je te remrcie pour ta réponse mais en fait c'est dans un site intranet que j'ai ce probleme, je dois par un lien ou un bouton faire passer une table sql vers excel et ca je ne sais pas comment faire ?
    Enfin merci quand meme !!!
    0
  7. DJmomoclio Messages postés 7 Statut Membre
     
    Je vous remrcie pour toutes ces réponses je vais essayer ca et je vous dis apres !!
    Encore merci
    Tchao MOMO
    0
  8. Manyanya Messages postés 60 Statut Membre
     
    Bonjour,

    Je suis novice en BD et je ne connais pas PHP. Je souhaiterais avoir un petit logiciel qui convertit des tables Mysql en fichier excel et vice-versa. Ceci me permettra de terminer le projet sur lequel je suis entrain de travailler.

    Votre contribution m'aidera beaucoup.
    0
    1. aynsoufiane
       
      essaye avec ce lien

      francias.softpicks.net/software/Excel-MySQL-Conversion-software_fr-27283.htm

      bonne chance
      0
  9. ptiloup21
     
    bonjour, je debute et je rencontre des soucis, j'ai un site sur lequel, j'ai fait une interface. J'ai un bouton qui me sert a afficher les resultats de requetes. je voudrais faire en sorte d'avoir le même bouton, sauf que au lieu que ca s'affiche dans une page, je voudrais que ca me telecharge le resultat en csv ou format excel.

    A savoir que mon bouton actuel me génère une pages avec un tableau.

    voici mon code :

    ...
    ...
    case 'affpan':
    $titre = $_POST[titre];
    $ids = $_POST[ids];
    $ids = explode (";", $ids );
    $sql="SELECT * FROM publipostage where ID = '$ids[0]'";
    for($i=1;$i < count($ids);$i++)
    {
    $sql.=" OR ID = '$ids[$i]' ";
    }
    echo "affichage des pannelistes de l'enquête : $titre
    ";
    include "src/aff.php";
    break;

    ...
    ...

    <li class="form-line" id="id_2">
    <div id="cid_2" class="form-input-wide">
    <div style="margin-left:156px" class="form-buttons-wrapper">
    <button id="input_2" type="submit" class="form-submit-button" name="envoi" value="affpan">
    afficher les pannelistes
    </button>
    </div>
    </div>
    </li>

    ...
    ...
    0
  10. Boursicot
     
    Utilise phpexcel,

    c'est le mieux que j'ai trouvé, tu peux presque tout faire !
    Tu peux générer des feuilles Excel a partir d'une base, controler les formats, mettre des formules ... , tu peux même lire une feuille excel et la rebasculer dans ta base, ça demande un peu de mise au point mais ça vaut vraiment la peine.
    0