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 45 46 47 48 49 50 51 52 53 54 55 56
|
/**********************************/
define("FILENAME","C:\\wamp\\www\\graphe\\graphe.xls");
$conn=mysql_connect('localhost','root','') or die('Problème lors de la connexion à la BD MYSQL');
mysql_select_db('phpexcel',$conn) or die('Problème lors de la sélection de la BD MYSQL');
$query="SELECT NOM_CLIENT, COUNT( * ) AS NB_APPEL FROM CLIENTS INNER JOIN ";
$query.="APPELS_CLIENTS ON ID_CLIENT = XID_CLIENT GROUP BY ID_CLIENT";
$res=mysql_query($query) or die('Problème lors de la réception des enregistrements');
if(mysql_num_rows($res)>0){
/*if(file_exists(FILENAME)){
unlink(FILENAME);
}*/
$excel=new COM("Excel.application");
$excel->sheetsinnewworkbook=1;
$excel->Workbooks->Add();
$book=$excel->Workbooks(1);
$sheet=$book->Worksheets(1);
$sheet->Name="Graphique appel des clients";
$i=1;
while($row=mysql_fetch_object($res)){
$cell=$sheet->Range('A'.$i);
$cell->value=$row->NOM_CLIENT;
$cell=$sheet->Range('B'.$i);
$cell->value=$row->NB_APPEL;
$i++;
}
}
else{
die('Les tables sont vides ou pas de jointure possible');
}
$i--;
$selection = $sheet->range("A1:B$i");
$graph = $sheet->chartobjects->add(150, 10, 300, 250);
$graphique = $graph->chart;
$graphique->type=5;
//$graphique->activate;
$graphique->setsourcedata($selection);
$graphique->ApplyDataLabels->type=5;
$graphique->HasTitle=true;
$graphique->ChartTitle->Text="Rapport des appels clients";
/***** c'est la le big problem ******************/
$book->saveas(FILENAME);//Enregistrement du document
/*****************************************/
unset($sheet);//Libération de $sheet
unset($book);//Libération de $book
$excel->Workbooks->Close();//Fermeture du classeur
$excel->Quit();//On quitte Excel
unset($excel);//Libération de l'objet $excel |
Partager