8710 sujets

Développement web côté serveur, CMS

Bonjour,

Je viens de trouver un script utilisant phpExcel. Ca fonctionne parfaitement, par contre j'aimerai la basculer en PDO. Et la je galère....
Voici le code :
$dbhost= "localhost"; //your MySQL Server 
$dbuser = "root"; //your MySQL User Name 
$dbpass = ""; //your MySQL Password 
$dbname = "test"; 

$tablename = "lieu"; 

$sql = "Select * from $tablename "; 

$Connect = @mysql_connect($dbhost, $dbuser, $dbpass) 
or die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . mysql_errno()); 

$Db = @mysql_select_db($dbname, $Connect) 
or die("Couldn't select database:<br>" . mysql_error(). "<br>" . mysql_errno()); 

$result = @mysql_query($sql,$Connect) 
or die("Couldn't execute query:<br>" . mysql_error(). "<br>" . mysql_errno()); 

error_reporting(E_ALL);

 require_once 'Classes/PHPExcel.php';
 
 // Instantiate a new PHPExcel object 
$objPHPExcel = new PHPExcel();  
// Set the active Excel worksheet to sheet 0 
$objPHPExcel->setActiveSheetIndex(0);  
// Initialise the Excel row number 
$rowCount = 1;  

//start of printing column names as names of MySQL fields  
$column = 'A';
for ($i = 1; $i < mysql_num_fields($result); $i++)  
{
    $objPHPExcel->getActiveSheet()->setCellValue($column.$rowCount, mysql_field_name($result,$i));
    $column++;
}
//end of adding column names  

//start while loop to get data  
$rowCount = 2;  
while($row = mysql_fetch_row($result))  
{  
    $column = 'A';
    for($j=1; $j<mysql_num_fields($result);$j++)  
    {  
        if(!isset($row[$j]))  
            $value = NULL;  
        elseif ($row[$j] != "")  
            $value = strip_tags($row[$j]);  
        else  
            $value = "";  

        $objPHPExcel->getActiveSheet()->setCellValue($column.$rowCount, $value);
        $column++;
    }  
    $rowCount++;
} 


// Redirect output to a client’s web browser (Excel5) 
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="mon_site.xls"'); 
header('Cache-Control: max-age=0'); 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 
$objWriter->save('php://output');

Si une âme charitable passe par là Smiley lol
Pour ceux que ca interresserai:

$workbook = new PHPExcel;
                $sheet = $workbook->getActiveSheet();
                $query = Cnx::connectCnx()->query("SELECT * FROM contacts ");
                
                $sheet->setCellValueByColumnAndRow(0,1,'Nom' );
                $sheet->setCellValueByColumnAndRow(1,1,'Prenom' );
				.........
				
                $ligne = 2;
                while($data = $query->fetch()){
                        $colonne=0;
                        $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['nom']);$colonne++;
                        $sheet->setCellValueByColumnAndRow($colonne, $ligne, $data['prenom']);$colonne++;
						.........
  
                        $ligne++;//ligne suivante					
						}


header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="tableau.xls"');
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); 
header ('Cache-Control: cache, must-revalidate');
header ('Pragma: public');

$objWriter = PHPExcel_IOFactory::createWriter($workbook, 'Excel5');
$objWriter->save('php://output');
exit;

bonne semaine