Export de table mysql vers excel

DJmomoclio Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
 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
A voir également:

11 réponses

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
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
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
steeve59510 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   > aynsoufiane
 
MERCI bcp !!!
Exactement ce qu'il me manquait !

Steeve59510
0
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
TamYou
 
Bonjour,
merciiiiiiiiiiiiiii
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
Utilisateur anonyme
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
DJmomoclio Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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
DJmomoclio Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Je vous remrcie pour toutes ces réponses je vais essayer ca et je vous dis apres !!
Encore merci
Tchao MOMO
0
Manyanya Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
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
aynsoufiane
 
essaye avec ce lien

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

bonne chance
0
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
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
koko
 
c'est de la daube ce code
-1