1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| function afficherRequete($requete,$libelle)
{
$fname = tempnam("/tmp", $libelle.".xls"); //Nom du fichier .xls qui va être généré
$workbook = &new writeexcel_workbook($fname); //On créé le fichier xls
$worksheet = &$workbook->addworksheet(); //On ajoute un worksheet
$heading =& $workbook->addformat(array('align' => 'center', 'bold' => 1)); //On défini un format
set_time_limit(300000000); //Eviter que la requete se bloque si elle dure trop longtemps
$result = array();
$req = oci_parse($this->connect, $requete); //On parse la requete
$curseur = oci_execute($req); //On execute la requete
$nrows = oci_fetch_all($req, $results); //On récupère le nombre de résultats
$i=0;
foreach ($results as $key => $val) //On récupère toutes les valeurs du résultat de la requête
{
$worksheet->write(0,$i,$key,$heading);
//echo $i.' | '.$key.' | '.$heading.'<br>';
$i++;
}
$header =& $workbook->addformat();
$header->set_align('left');
for ($i = 0; $i < $nrows; $i++)
{
$j=0;
foreach ($results as $data)
{
$worksheet->write($i+1,$j,$data[$i],$header);
//echo $data[$i].'<br>';
$j++;
}
}
$workbook->close();
header("Content-Type: application/x-msexcel; name=\"".$libelle.".xls\"");
header("Content-Disposition: inline; filename=\"".$libelle.".xls\"");
$fh=fopen($fname, "rb");
fpassthru($fh);
unlink($fname);
} |
Partager