phpExcel mise en forme du code / commentaires
This commit is contained in:
parent
facc912144
commit
739c7625ed
|
@ -3,30 +3,39 @@
|
||||||
function xlsx_switch_lvl1($request, $answer){
|
function xlsx_switch_lvl1($request, $answer){
|
||||||
|
|
||||||
//inclusion des classes de PHPExcel et des fichiers necessaires
|
//inclusion des classes de PHPExcel et des fichiers necessaires
|
||||||
|
|
||||||
require_once __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel.php"));
|
require_once __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel.php"));
|
||||||
require_once __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel", "Writer", "Excel2007.php"));
|
require_once __ROOT__.DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("src", "phpexcel", "Classes", "PHPExcel", "Writer", "Excel2007.php"));
|
||||||
|
|
||||||
|
|
||||||
//TABLE DE ROUTAGE DE LA FONCTION
|
/* [1] TABLE DE ROUTAGE
|
||||||
|
============================================================*/
|
||||||
|
|
||||||
switch ($request->level_1) {
|
switch ($request->level_1) {
|
||||||
|
|
||||||
//EXPORTATION DES LISTE D'ELEVE DE L'ANNEEE EN FORMAT EXCEL
|
/***************************************************/
|
||||||
|
/* Export la liste des étudiants d'un groupe donné */
|
||||||
|
/***************************************************/
|
||||||
case 'export_userlist_group':
|
case 'export_userlist_group':
|
||||||
|
|
||||||
//Si on a bien les listes de groupes
|
// Vérification de la présence des groupes
|
||||||
if(isset($request->grouplist) && $request->grouplist != null){
|
|
||||||
|
if( isset($request->grouplist) && $request->grouplist != null ){
|
||||||
|
|
||||||
|
//On crée une instance du fichier xls,activation de la feuille
|
||||||
|
|
||||||
//On crée une instance du fichier xls, ainsi que de la feuille active
|
|
||||||
$workbook = new PHPExcel();
|
$workbook = new PHPExcel();
|
||||||
$sheet = $workbook->getActiveSheet();
|
$sheet = $workbook->getActiveSheet();
|
||||||
$writer = new PHPExcel_Writer_Excel2007($workbook);
|
$writer = new PHPExcel_Writer_Excel2007($workbook);
|
||||||
|
|
||||||
//on défini les paramètresdu document
|
// Définition des paramètres du document
|
||||||
|
|
||||||
$workbook->getProperties()->setCreator($_SESSION['identifiant']);
|
$workbook->getProperties()->setCreator($_SESSION['identifiant']);
|
||||||
$workbook->getProperties()->setLastModifiedBy('ACGA');
|
$workbook->getProperties()->setLastModifiedBy('ACGA');
|
||||||
$workbook->getProperties()->setTitle('Liste étudiants '.$_SESSION['annee']);
|
$workbook->getProperties()->setTitle('Liste étudiants '.$_SESSION['annee']);
|
||||||
|
|
||||||
//On définit les
|
// Définition du format des cellules (document Excel)
|
||||||
|
|
||||||
$sheet->getColumnDimension('B')->setWidth(20);
|
$sheet->getColumnDimension('B')->setWidth(20);
|
||||||
$sheet->getColumnDimension('C')->setWidth(20);
|
$sheet->getColumnDimension('C')->setWidth(20);
|
||||||
$sheet->getColumnDimension('D')->setWidth(15);
|
$sheet->getColumnDimension('D')->setWidth(15);
|
||||||
|
@ -35,7 +44,8 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
$sheet->getColumnDimension('G')->setWidth(12);
|
$sheet->getColumnDimension('G')->setWidth(12);
|
||||||
$sheet->getColumnDimension('H')->setWidth(12);
|
$sheet->getColumnDimension('H')->setWidth(12);
|
||||||
|
|
||||||
//on prépare le tableau
|
// Écriture des colonnes du tableau
|
||||||
|
|
||||||
$sheet->setCellValue('B1', "GROUPE DES ETUDIANTS DE L'ANNEE ".$_SESSION['annee']);
|
$sheet->setCellValue('B1', "GROUPE DES ETUDIANTS DE L'ANNEE ".$_SESSION['annee']);
|
||||||
$sheet->setCellValue('A2', date("d/m/Y G:m"));
|
$sheet->setCellValue('A2', date("d/m/Y G:m"));
|
||||||
$sheet->setCellValue('A4', 'Numéro');
|
$sheet->setCellValue('A4', 'Numéro');
|
||||||
|
@ -47,17 +57,21 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
$sheet->setCellValue('G4', 'Code IAE');
|
$sheet->setCellValue('G4', 'Code IAE');
|
||||||
$sheet->setCellValue('H4', 'IAE Etape');
|
$sheet->setCellValue('H4', 'IAE Etape');
|
||||||
|
|
||||||
//On remplie le tableau des valeurs récupérées dans la requête
|
// Écriture des valeurs dans le document Excel
|
||||||
|
|
||||||
$index = 5;
|
$index = 5;
|
||||||
foreach ($request->grouplist as $group) {
|
foreach ( $request->grouplist as $group ) {
|
||||||
|
|
||||||
$groupeName = $group['nom'];
|
$groupeName = $group['nom'];
|
||||||
$formation = $group['formation'];
|
$formation = $group['formation'];
|
||||||
foreach ($group['userlist'] as $student) {
|
|
||||||
|
foreach ( $group['userlist'] as $student ) {
|
||||||
|
|
||||||
$sheet->setCellValue('A'.$index, $index-4);
|
$sheet->setCellValue('A'.$index, $index-4);
|
||||||
$sheet->setCellValue('B'.$index, $student['nom']);
|
$sheet->setCellValue('B'.$index, $student['nom']);
|
||||||
$sheet->setCellValue('C'.$index, $student['prenom']);
|
$sheet->setCellValue('C'.$index, $student['prenom']);
|
||||||
$sheet->setCellValue('D'.$index, $student['identifiant']);
|
$sheet->setCellValue('D'.$index, $student['identifiant']);
|
||||||
//$sheet->setCellValue('E'.$index, $student['sexe']);
|
$sheet->setCellValue('E'.$index, $student['sexe']);
|
||||||
$sheet->setCellValue('F'.$index, $student['mail']);
|
$sheet->setCellValue('F'.$index, $student['mail']);
|
||||||
$sheet->setCellValue('G'.$index, $formation);
|
$sheet->setCellValue('G'.$index, $formation);
|
||||||
$sheet->setCellValue('H'.$index, $groupeName);
|
$sheet->setCellValue('H'.$index, $groupeName);
|
||||||
|
@ -65,7 +79,10 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// A refaire, incompréhensible et beaucoup plus facile à faire C.F : export notes-->
|
||||||
|
|
||||||
//On enregistre ce nouveau fichier, et on lance son téléchargement
|
//On enregistre ce nouveau fichier, et on lance son téléchargement
|
||||||
|
|
||||||
$docPath = DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("page", "excelTemplates",
|
$docPath = DIRECTORY_SEPARATOR.join(DIRECTORY_SEPARATOR, array("page", "excelTemplates",
|
||||||
"Liste Etudiant ".$_SESSION['annee'].".xlsx"));
|
"Liste Etudiant ".$_SESSION['annee'].".xlsx"));
|
||||||
if(file_exists (__ROOT__.$docPath)){
|
if(file_exists (__ROOT__.$docPath)){
|
||||||
|
@ -80,30 +97,40 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
$answer->docPath = $docPath;
|
$answer->docPath = $docPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Si on a pas le tableau
|
// <--
|
||||||
|
|
||||||
|
// Erreur de paramètre(s)
|
||||||
|
|
||||||
else {
|
else {
|
||||||
|
|
||||||
$answer->request = 'param_error';
|
$answer->request = 'param_error';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************************************/
|
||||||
// IMPORTATION DES LISTE D'ELEVE DE L'ANNEEE EN FORMAT EXCEL
|
/* Importation des listes d'élèves de l'année en format Excel */
|
||||||
|
/***************************************************************/
|
||||||
case 'import_userlist_group':
|
case 'import_userlist_group':
|
||||||
|
|
||||||
if(isset($request->docPath)) {
|
if(isset($request->docPath)) {
|
||||||
|
|
||||||
// $inputFileType = 'Excel2007';
|
// Récupération du nom du fichier
|
||||||
|
|
||||||
$inputFileName = $request->docPath;
|
$inputFileName = $request->docPath;
|
||||||
|
|
||||||
// Charger le fichier en tant que document Excel
|
// Chargement du fichier
|
||||||
|
|
||||||
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
|
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
|
||||||
|
|
||||||
// Get sur la première case
|
// Placement du curseur sur la première case
|
||||||
|
|
||||||
$sheet = $objPHPExcel->getSheet(0);
|
$sheet = $objPHPExcel->getSheet(0);
|
||||||
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||||
|
|
||||||
|
// Variables stack pour la liste de élèves
|
||||||
|
|
||||||
$listeEleves = array();
|
$listeEleves = array();
|
||||||
|
|
||||||
// Boucle sur le format suivant : ligne[0] : [NOM] / ligne[1] : [PRENOM] / ligne[2] : [GROUPE]
|
// Boucle sur le format suivant : ligne[0] : [NOM] / ligne[1] : [PRENOM] / ligne[2] : [GROUPE]
|
||||||
|
@ -113,6 +140,8 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
$listeEleves[$i++] = array($line[0],$line[1],$line[2]);
|
$listeEleves[$i++] = array($line[0],$line[1],$line[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Vérification de la présence de tous les élèves
|
||||||
|
|
||||||
if($i-2 == getHighestRow()) {
|
if($i-2 == getHighestRow()) {
|
||||||
|
|
||||||
$answer->listeEleves = $listeEleves;
|
$answer->listeEleves = $listeEleves;
|
||||||
|
@ -122,6 +151,8 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Erreur de paramètre(s)
|
||||||
|
|
||||||
else {
|
else {
|
||||||
|
|
||||||
$answer->request='param_error';
|
$answer->request='param_error';
|
||||||
|
@ -188,24 +219,29 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
break;
|
break;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/***************************************************************************/
|
||||||
|
/* Importation de notes pour un contrôle, une formation et un groupe donné */
|
||||||
// IMPORTATION DE NOTES POUR UN CONTROLE DONNEE, UNE FORMATION DONNEE ET UN GROUPE DONNE
|
/***************************************************************************/
|
||||||
case 'import_notes':
|
case 'import_notes':
|
||||||
|
|
||||||
|
|
||||||
if(isset($request->docPath) && isset($request->formation) && isset($request->groupe) && isset($request->controle)) {
|
if(isset($request->docPath) && isset($request->formation) && isset($request->groupe) && isset($request->controle)) {
|
||||||
|
|
||||||
// $inputFileType = 'Excel2007';
|
// Récupération du nom du fichier
|
||||||
|
|
||||||
$inputFileName = $request->docPath;
|
$inputFileName = $request->docPath;
|
||||||
|
|
||||||
// Charger le fichier en tant que document Excel
|
// Chargement du fichier
|
||||||
|
|
||||||
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
|
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
|
||||||
|
|
||||||
// Get sur la première case
|
// Placement du curseur sur la première case
|
||||||
|
|
||||||
$sheet = $objPHPExcel->getSheet(0);
|
$sheet = $objPHPExcel->getSheet(0);
|
||||||
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
$mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow());
|
||||||
|
|
||||||
|
// Varaible stack pour la liste des notes
|
||||||
|
|
||||||
$listeNotes = array();
|
$listeNotes = array();
|
||||||
|
|
||||||
// Boucle sur le format suivant : ligne[0] : [NOM] / ligne[1] : [PRENOM] / ligne[3] : [NOTE]
|
// Boucle sur le format suivant : ligne[0] : [NOM] / ligne[1] : [PRENOM] / ligne[3] : [NOTE]
|
||||||
|
@ -223,6 +259,9 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Erreur de paramètre(s)
|
||||||
|
|
||||||
else {
|
else {
|
||||||
|
|
||||||
$answer->request='param_error';
|
$answer->request='param_error';
|
||||||
|
@ -232,6 +271,9 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/***********************/
|
||||||
|
/* Importation du MCC */
|
||||||
|
/**********************/
|
||||||
case 'import_mcc':
|
case 'import_mcc':
|
||||||
|
|
||||||
if(isset($request->docPath)) {
|
if(isset($request->docPath)) {
|
||||||
|
@ -354,17 +396,6 @@ function xlsx_switch_lvl1($request, $answer){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// DEFAULT
|
// DEFAULT
|
||||||
default:
|
default:
|
||||||
$answer->request = 'unknown_level_1';
|
$answer->request = 'unknown_level_1';
|
||||||
|
|
Loading…
Reference in New Issue