[php] Exportation de php/sql vers Excel
Résolu/Fermé
Foudébois
Messages postés
4
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
15 novembre 2006
-
17 mai 2006 à 16:43
hkmah - 6 juil. 2015 à 10:54
hkmah - 6 juil. 2015 à 10:54
A voir également:
- Php sql to excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Qwerty to azerty - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
6 réponses
Un petit exemple dont tu peux t'inspirer pour creer un script PHP
Le fichier conf_int.php contiendra tes mots de pass etc..
conf_int.php:
export_excel.php:
Le fichier conf_int.php contiendra tes mots de pass etc..
conf_int.php:
# codes administration de BDD $DBHost="localhost"; $DBUser="xxxxxxx"; $DBPass="yyyyyyyyy"; $DBName="ASSOC";
export_excel.php:
<?php // à elle seule, la ligne suivante suffit à envoyer le résultat du script dans une feuille Excel header("Content-type: application/vnd.ms-excel"); // la ligne suivante est facultative, elle sert à donner un nom au fichier Excel header("Content-Disposition: attachment; filename=E:\repertoire_destination\nom_fichier.xls"); require_once("conf_int.php"); // La suite est une simple requête php-mysql. On interroge la table utilisée dans l'exemple précédent. $bdd = mysql_connect($DBHost,$DBUser,$DBPass); mysql_select_db((DB),$bdd); // notez la présence du caractère arobase (@) , en cas d'erreur, // il empêche PHP d'écrire un message d'erreur sur le navigateur $requete=@mysql_query("SELECT prenom,nom,email FROM ".(TAB)." ORDER BY nom,prenom"); // on vérifie le contenu de la requête ; if (@mysql_numrows($requete) ==0) { // si elle est vide, on en informe l'utilisateur à l'aide d'un Javascript print "<script> alert('La requête n\'a pas abouti !')</script>"; } // construction du tableau HTML print '<table border=1> <!-- impression des titres de colonnes --> <TR><TD>Prenom</TD><TD>Nom</TD><TD>email</TD></TR><TR>'; // lecture du contenu de la requête avec 2 boucles imbriquées; par ligne et par colonne for ($ligne=0 ; $ligne<@mysql_numrows($requete);$ligne++) { for ($colonne = 0;$colonne < 3 ; $colonne++) { print '<TD>' .mysql_result($requete , $ligne,$colonne). '</TD>'; } print '</TR>'; } print '</TABLE>'; mysql_close(); // on informe l'utilisateur de la réussite if (@mysql_numrows($requete) >0) { print "<script> alert('La table est bien mise à jour !')</script>"; } ?>
18 avril 2008 à 22:33
Une petite info pour ceux qui vont utiliser ce script :
Attention à cette ligne :
filename=E:\repertoire_destination\nom_fichier.xls");
Sur serveur il faut virer le E:\repertoire_destination\ sinon le script vous proposer de télécharger votre tableau en .php :)
10 mai 2008 à 09:54
Je suis content de trouver cette idée de code. Vraiment merci.
Je note une petite erreur les fonctions mysql_numrow sont mal définies =>mysql_num_rows.