|
|
|
|
Bonjour à tous,
je programme une application en php/mysql sous windows et EasyPhp 1.7
Je voudrais savoir comment faut faire pour exporter le reslutat d'une requete SQL dans un fichier Excel (.xls ou .csv)
A partir de ma requete, j'affiche un tableau qui referencie l'ensemble des projets d'une société
Donc enormement de ligne, et je voudrais donc mettre toutes ces lignes dans un fichier excel pour pouvoir les utiliser apres ...
Merci beaucoup pour les futurs reponses ;-)
Un petit exemple dont tu peux t'inspirer pour creer un script 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>";
}
?>
|
Bonjour,
<?php
header("Content-type: application/vnd.ms-excel");
require_once("test_conf_int.php");
$bdd = mysql_connect($DBHost,$DBUser,$DBPass);
mysql_select_db((DB),$bdd);
$requete=@mysql_query("SELECT name, username, email FROM jos_users");
// on vérifie le contenu de la requête, si elle est vide, on en informe l'utilisateur à l'aide d'un Javascript
if (@mysql_numrows($requete) ==0) {
echo "<script> alert('La requête n\'a pas abouti !')</script>";
}
// construction du tableau HTML
echo '<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>";
}
?>
merci :) |