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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| // Crée un fichier excel à télécharger avec la liste des élèves
public function setXls(){
include('coBDD.php');
$query = $db->prepare('SELECT * FROM ELEVE ORDER BY nomEleve');
$query->execute();
require('PHPExcel.php');
require('PHPExcel/Writer/Excel2007.php');
// Instanciation de l'objet PHPExcel
$objPHPExcel = new PHPExcel;
// Définie le nom du créateur du fichier, on prend ici le nom d'utilisateur
$objPHPExcel->getProperties()->setCreator($_SESSION['username']);
// Définition de la feuille active
$objPHPExcel->setActiveSheetIndex(0);
// Définition du titre de l'onglet
$objPHPExcel->getActiveSheet()->setTitle('Liste complète élève');
// Création du titre de chaque colonnes
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, 1, 'N°INE');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, 1, 'Sexe');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(2, 1, 'Nom');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(3, 1, 'Classe');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(4, 1, '1er Prenom');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(5, 1, '2eme Prenom');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(6, 1, '3emePrenom');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(7, 1, 'Date de Naissance');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(8, 1, 'Groupes Langues');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(9, 1, 'Options');
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(10, 1, 'MEF');
// Mise en page de la feuille Excel
$styleA1 = $objPHPExcel->getActiveSheet()->getStyle('A1:K1'); // Instanciation la classe PHPExcel_Style, on passe la ou les cellules visée en paramètre
$styleFont = $styleA1->getFont(); // Instanciation de la classe PHPExcel_Style_Font
$styleFont->setBold(true); // Passage à true pour mettre la ou les cellules en gras
// Définition de la taille des colonnes.
$objPHPExcel->getActiveSheet()->getColumnDimension("A")->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension("B")->setWidth(5);
$objPHPExcel->getActiveSheet()->getColumnDimension("C")->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension("D")->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension("E")->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension("F")->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension("G")->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension("H")->setWidth(18);
$objPHPExcel->getActiveSheet()->getColumnDimension("I")->setWidth(17);
$objPHPExcel->getActiveSheet()->getColumnDimension("J")->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension("K")->setWidth(30);
$i = 2;
while($data = $query->fetch()){
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, $i, $data['INE']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, $i, $data['sexe']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(2, $i, $data['nomEleve']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(3, $i, $data['libClasse']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(4, $i, $data['prenom1Eleve']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(5, $i, $data['prenom2Eleve']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(6, $i, $data['prenom3Eleve']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(7, $i, $data['dateNaissance']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(8, $i, $data['libGroupeLV1'].$data['libGroupeLV2']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(9, $i, $data['libOption']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(10, $i, $data['MEF']);
$i++;
}
$db = null;
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Liste complète élève.xlsx"');
header('Cache-Control: max-age=0');
$writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$writer->save('php://output');
} |
Partager