Export de table mysql vers excel
Fermé
DJmomoclio
Messages postés
7
Date d'inscription
lundi 28 juin 2004
Statut
Membre
Dernière intervention
8 juillet 2004
-
6 juil. 2004 à 11:03
Boursicot - 12 févr. 2012 à 18:23
Boursicot - 12 févr. 2012 à 18:23
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
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:
- Export de table mysql vers excel
- Table ascii - Guide
- Table des matières word - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
11 réponses
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
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
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 ?
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 ?
Utilisateur anonyme
8 juil. 2004 à 10:34
8 juil. 2004 à 10:34
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. :)
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. :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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/
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/
DJmomoclio
Messages postés
7
Date d'inscription
lundi 28 juin 2004
Statut
Membre
Dernière intervention
8 juillet 2004
8 juil. 2004 à 10:27
8 juil. 2004 à 10:27
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 !!!
Enfin merci quand meme !!!
DJmomoclio
Messages postés
7
Date d'inscription
lundi 28 juin 2004
Statut
Membre
Dernière intervention
8 juillet 2004
8 juil. 2004 à 14:14
8 juil. 2004 à 14:14
Je vous remrcie pour toutes ces réponses je vais essayer ca et je vous dis apres !!
Encore merci
Tchao MOMO
Encore merci
Tchao MOMO
Manyanya
Messages postés
44
Date d'inscription
vendredi 9 février 2007
Statut
Membre
Dernière intervention
15 février 2012
25 juil. 2008 à 11:26
25 juil. 2008 à 11:26
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.
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.
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>
...
...
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>
...
...
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.
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.
8 mai 2008 à 16:59
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
13 mai 2008 à 18:27
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 ;
?>
29 juil. 2008 à 09:48
Exactement ce qu'il me manquait !
Steeve59510
30 juil. 2008 à 00:25
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.