Code : Tout sélectionner
Voilà , je veux exporter le résultat d'une requête sql server vers un fichier Excel en utilisant une page php , mon code est le suivant:
<?php
$serverName = "MONSERVEUR";
$connectionInfo = array( "Database"=>"MABASE" ,"CharacterSet" =>"utf-8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
//echo "Connexion établie.<br />";
}else{
echo "La connexion n'a pu etre etablie.<br />";
die( print_r( sqlsrv_errors(), true));
}
$sel= "SELECT * FROM [scolarite].[dbo].[eleve]";
//echo $sel.'<br>';
$result = sqlsrv_query($conn,$sel);
$file_ending = "xls";
//Information de l\'entêt de notre navigateur
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=Exportation".date('d-m-Y').".xls");
header("Pragma: no-cache");
header("Expires: 0");
/*******Debut du formatage d'excel*******/
// Definition du séparateur de colonne dans excel
$sep = "\t";
$n= "\n";
// Début d'impression des noms des colonnes
$numFields=sqlsrv_num_fields($result);
for ($i = 0; $i <$numFields; $i++)
{
echo sqlsrv_get_field($result,0) ;
}
//print("\n");
//Fin d'impression de colonnes
// Debut de la boucle
while($row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC))
{
$schema_insert = "";
echo $row['NOM'].' '.$sep.$row['PRENOM'].$n;
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
elseif ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep; */
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
$schema_insert .= "<\t>";
//print(trim($schema_insert));
print "\t";
}
?>
Mon problème est que que je n'arrive pas à récupérer les noms des champs de ma table avec la fonction sqlsrv_get_field !
Pouvez vous me donnez un coup de main SVP?
Merci d'avance.