Bonjour,
Est il possible d'ouvrir un fichier excel, de le remplir avec la base de donnée et de lancer l'impression, le tout piloté en PHP ?
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
require('_connexion_pdo.php');
require 'vendor/autoload.php';
// charge la feuille en mémoire
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader("Xlsx");
$spreadsheet = $reader->load("./FP/FPvierge.xlsx");
foreach ($_POST as $val){
foreach ($val as $valeur){
$query = "SELECT * FROM judo where poule ='$valeur'" ;
try {
$pdo_select = $pdo->prepare($query);
$pdo_select->execute();
$NbreData = $pdo_select->rowCount(); // nombre d'enregistrements (lignes)
$rowAll = $pdo_select->fetchAll(); // tout dans le meme tableau
} catch (PDOException $e){ echo 'Erreur SQL : '. $e->getMessage().'<br/>'; die(); }
for($i=0;$i<$NbreData;$i++){
// $i+6 on commence à la ligne 6 et à chaque nouveau judoka on va a la ligne d'après
$spreadsheet->getActiveSheet()
->setCellValue('B'.($i+6), $rowAll[$i]['club']);
$spreadsheet->getActiveSheet()
->setCellValue('C'.($i+6), $rowAll[$i]['nom']);
$spreadsheet->getActiveSheet()
->setCellValue('D'.($i+6), $rowAll[$i]['prenom']);
$spreadsheet->getActiveSheet()
->setCellValue('E'.($i+6), $rowAll[$i]['poids']);
}
//enregistre le fichier
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save('./FP/'.$valeur.'.xlsx'); //récupère le nom de la poule
} }<?php
$rep = './FP/'; // dossier des fichiers
echo '<ul>';
if($dossier = opendir($rep))
{
while(false !== ($fichier = readdir($dossier)))
{
if($fichier != '.' && $fichier != '..' )
{
echo '<li><a href="' . $rep . '/' . $fichier . '">' . $fichier . '</a></li>';
}
}
echo '</ul><br />';
closedir($dossier);
}
else echo 'Une erreur est survenue';
?>