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 :

librairie - exporter base de donnees dans une feuille excel ?


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Points : 148
    Points
    148
    Par défaut librairie - exporter base de donnees dans une feuille excel ?
    Salut,

    malgré des recherches sur les tutos de developpez.com et google,
    je n´ai pas trouvé de moyen d´exporter une base de données sql dans une feuille excel ...

    Pourriez-vous m´aider ?
    Merci beaucoup pour votre aide.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    PhpMyAdmin le fait très bien. Une fois ta base ou table sélectionnée, tu as un onglet "Exporter".

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Points : 148
    Points
    148
    Par défaut
    Merci bisunurs,

    mais en fait le but serait d´automatiser la chose pour que les personnes n´aient pas a toucher a phpmyadmin par exemple
    Mais aussi de faire un tri partiel des donnees avant de l´envoyer en excel

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Dans ce cas là tu peux faire une requête sur l'ensemble de ta table et utiliser de concert la fonction fputcsv().

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Points : 148
    Points
    148
    Par défaut
    Je vais regarder ca merci.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 19
    Points
    19
    Par défaut Meme probleme
    Salut les gards.
    En fait il se trouve que moi egalement j'ai ce meme probleme depuis un certain temps. J'ai trouve un moyen d'exporter les donnees de ma base, voici a quoi ressemble le code:

    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
    <?
    $csv_output = '"column 1","column2"';
     
    $result = mysql_query("select * from table");
     
      while($row = mysql_fetch_array($result)) {
        $csv_output .= '"'.$row[col1].'","'.$row[col2]"';
       
      }
    
    
      header("Content-type: application/vnd.ms-excel");
      header("Content-disposition: csv" . date("Y-m-d") . ".xls");
      print $csv_output;
      exit;
    ?>


    Cela marche tres bien. Le probleme? eh bien dans ce code le delimiter c'est une virgule. Ce qu'il y a c'est que avec un autre ordinateur que le mien excel n'arrive pas a reconnetre ce delimiter, il affiche tout en texte(sans mettre en colonne).
    Alors quelqu'un a une idee?
    Merci

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Essaie de mettre un point-virgule comme délimiteur.

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 19
    Points
    19
    Par défaut
    J'ai deja essaye. Quand je mets un point-virgule chez moi ca ne marche plus, excel ne reconnait plus cela comme delimiteur. Je pense que ca doit etre quelque chose avec la configuration de excel, non?

  9. #9
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 64
    Points : 40
    Points
    40
    Par défaut
    Tu peux générer un tableau html...

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 19
    Points
    19
    Par défaut
    C'est vrai, mais c'est pas ce que je veux. J'ai simplement besoin que ca marche avec excel.

    Pas d'idees?

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 64
    Points : 40
    Points
    40
    Par défaut
    Tu veux que ta db soit affichée sous forme de tableau dans excel ?

  12. #12
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Points : 148
    Points
    148
    Par défaut
    J´ai trouvé ca qui est pas mal avec toutes les sources a telecharge, merci dev.net !

  13. #13
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 19
    Points
    19
    Par défaut
    Oui c'est ca, je veux que ma db soit affichée sous forme de tableau dans excel .

    Merci juju03 pour ce que t'as trouve. En fait ca s'est la facon la plus complexe de le faire en utilisant la classe PHP Spreadsheet_Excel_Writer_Workbook pour le travail avec Excel. Or avec ma source afiichee plus haut ca marche, c'est juste un probleme de delimiteur.

    Mais bon ce que t'as trouve me plait tres bien, bien qu'un petit peu complique

    Merci encore!

  14. #14
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Bonsoir,

    Quand j'ai ce genre de problème, je remplis un fichier texte avec les différentes colonnes séparées par des tabulations (\t) et la dernière colonne terminée par un passage à la ligne (\n)

    Jusqu'ici, aucun problème majeur rencontré

    A+
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

  15. #15
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 64
    Points : 40
    Points
    40
    Par défaut
    Moi je crée un tableau html contenant toutes les informations retournées par la requete SQL et je l'envoie à excel. Celui-ci ce débrouille comme un grand pour l'afficher correctement :

    Code PHP : 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
    24
    25
    26
    27
    28
    29
    30
    31
     
    header("Content-type: application/vnd.ms-excel; charset=UTF-16LE");
    header("Content-Disposition: attachment; filename=nom_de_fichier.xls");
     
    _connect(); //connexion mysql
     
            $sql = "SELECT * FROM test;";
    	$res = mysql_query($sql) or die("BUG");
     
    	$num_fields = mysql_num_fields($res); // Récupere le nb de champs de la table
    	$num_rows = mysql_num_rows($res); // Récupere le nb d'enregistrement
    	$tbl= ' <table border="1px"><tr>';
     
    	for($i=0;$i<$num_fields;$i++){
    		$tbl = $tbl . "<td>".mysql_field_name($res, $i)."</td>"; // Affiche dans l'entête du tableau le nom de tous les champs renvoyer par la requete SQL
    	}
    	$tbl = $tbl . "</tr>";
    	while ($data = mysql_fetch_array($res))
    	{
    		$tbl = $tbl . "<tr>";
     
    		for($i=0;$i<$num_fields;$i++){
    			$tbl = $tbl . '<td align="center">'.$data[mysql_field_name($res, $i)].'</td>'; // Affiche le contenu de chaque ligne retourné par la requete SQL
    		}
    		$tbl = $tbl . "</tr>";
    	}
    	$tbl = $tbl . "</table>";
    	print $tbl ;
     
     
    	_disconnect();

    Sa fonctionne super bien comme ça !

  16. #16
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 19
    Points
    19
    Par défaut
    Ouais t'as raison ca devrait marche, c'est juste que mon excel n'arrive pas a reconnaitre autres delimiteurs(tab, point-virgule,...) que la virgule. C'est tres bizzare. Peut-etre y a t-il un moyen de configurer cela sous excel, mais je ne sais pas comment.

  17. #17
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 19
    Points
    19
    Par défaut
    Ca a l'air super ton code je m'en vais tout de suite l'essayer, esperant que ca marchera chez moi aussi.

    Merci!

  18. #18
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 19
    Points
    19
    Par défaut
    Salut nolev3 ,
    je viens d'essayer ton code. Mais ca ne marche pas, quand j'exporte les donnees de la base ne s'affichent plus et il y a les tags HTML qui s'affichent(<table><tr><td>).

    Tu sais c'est quoi le probleme?

  19. #19
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 64
    Points : 40
    Points
    40
    Par défaut
    J'ai peut etre mal recopier le code...
    Je regarde ça.

  20. #20
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Points : 19
    Points
    19
    Par défaut
    Je viens d'effectuer qlques changements et maintenant ca affiche les donness, mais le tout en texte: pas de lignes ni colonnes.

Discussions similaires

  1. [XL-2007] Exporter les valeurs à OptionButton dans une feuille Excel
    Par pimpom81 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/05/2012, 20h01
  2. Exporter une variable dans une feuille excel
    Par adrien.gendre dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/07/2007, 20h36
  3. inserer les donnees d une feuille excel dans une table sql
    Par josyde2006 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 20/12/2006, 08h40
  4. Afficher une image de la base de données dans une jsp
    Par treivse dans le forum Struts 1
    Réponses: 1
    Dernier message: 26/06/2006, 09h38
  5. [HIBERNATE] lier 2 bases de données dans une même table
    Par bondarenko dans le forum Hibernate
    Réponses: 4
    Dernier message: 31/03/2006, 16h01

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