prestation/Controleur/ControleurAjaxevolspmoisexport.php
2025-12-05 10:42:46 +00:00

88 lines
2.0 KiB
PHP
Executable File

<?php
require_once 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
require_once 'Framework/Controleurrequete.php'; // OK
require_once 'Modele/Statistique.php';
class ControleurAjaxevolspmoisexport extends Controleurrequete
{
private $etat;
public function __construct() {
$this->etat = new Statistique();
}
public function index()
{
$debutPeriode = $this->requete->getParametreDate("debutPeriode");
$finPeriode = $this->requete->getParametreDate("finPeriode");
$donnees = $this->etat->etatevolspmoisexport($debutPeriode, $finPeriode) ;
// Excel
$headerXLS = array(
'id',
_('Exercice'),
'prime_1',
'sin_1',
'prime_2',
'sin_2',
'prime_3',
'sin_3',
'prime_4',
'sin_4',
'prime_5',
'sin_5',
'prime_6',
'sin_6',
'prime_7',
'sin_7',
'prime_8',
'sin_8',
'prime_9',
'sin_9',
'prime_10',
'sin_10',
'prime_11',
'sin_11',
'prime_12',
'sin_12',
'prime_an',
'sin_an',
'sp_an',
'prime_cumul',
'sin_cumul',
'sp_cumul');
$dataXLS = array();
foreach ($donnees as $donnee)
{
$dataXLS[]=$donnee;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER-SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('PAR MOIS'));
$feuille->fromArray($headerXLS, NULL, 'A1', true);
$feuille->fromArray($dataXLS, NULL, 'A2', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_EVOL_SP_MOIS'."_".uniqid().".xlsx";
$writer = new Xlsx($classeur);
$writer->save($fichier);
$t_html =' <div id ="div_export_a" class="alert alert-info"> ';
$t_html .=' <a style="font-size:15pt;" href="'.$fichier.'" target="_blank" > '._("TELECHARGER").' </a> ';
$t_html .=' </div ';
echo $t_html;
exit();
}
}