Colorier les cellules d'un fichier généré avec PHPExcel

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Colorier les cellules d'un fichier généré avec PHPExcel

Re: Colorier les cellules d'un fichier généré avec PHPExcel

par @rthur » 26 août 2016, 17:49

Bonjour,

2 possibilités :
- soit tu fais ça manuellement en vérifiant la valeur en PHP, et en formatant la cellule avec PHPExcel_Style_Fill
- soit tu met en place de la mise en forme conditionnel avec PHPExcel_Style_Conditional
Il y a plusieurs exemples sur le web : https://www.google.fr/search?q=PHPExcel ... onditional

Colorier les cellules d'un fichier généré avec PHPExcel

par ArnaudYeha » 26 août 2016, 16:09

Bonsoir à tous,
Je me tourne vers vous car chez j'ai bon cherché sur différents forums, je ne trouve pas de réponse.
En fait j'aimerai procéder à la mise en forme automatique des cellules de mon fichier Excel généré pour éviter que ça soit l'utilisateur qui fasse cette mise en forme. Cette mise en forme consistera à colorier les cellules en fonction de certains critères que je pourrai énoncer par après, si je parviens tout d'abord à colorier ces cellules.
Voici le script que j'utilise pour générer mon fichier Excel:

Code : Tout sélectionner

require_once ("connectionMYSQL.inc.php"); require_once ("PHPExcel/PHPExcel.php"); require_once ("PHPExcel/PHPExcel/IOFactory.php"); require_once ("PHPExcel/PHPExcel/Style.php"); if(isset($_POST['excel'])) { // création des objets de base et initialisation des informations d'entête $classeur = new PHPExcel; $classeur->getProperties()->setCreator("Annie Gagnon"); $classeur->setActiveSheetIndex(0); $feuille=$classeur->getActiveSheet(); $requetee="select distinct dm.nomDemandeur,dm.conjoint,db.debiteurBanque from debiteur_brb db join demandeur dm on db.nom=dm.nomDemandeur or db.nom=dm.conjoint ORDER BY dm.nomDemandeur, dm.conjoint"; $resulta=mysql_query($requetee); if (mysql_num_rows($resulta)==0) { echo '<script type="text/javascript">alert("Le fichier Excel ne peut pas etre genere sans donnees inserees");</script>'; echo '<SCRIPT LANGUAGE="JavaScript">document.location.href="Comparaison.php"</SCRIPT>'; } else { // ajout des données dans la feuille de calcul $feuille->setTitle('Liste des débiteurs'); $ligne = 1; $feuille->setCellValueByColumnAndRow(0, 1, 'NOM ET PRENOM DEMANDEUR'); $feuille->setCellValueByColumnAndRow(1, 1, 'NOM ET PRENOM CONJOINT'); $feuille->setCellValueByColumnAndRow(2, 1, 'BANQUE CLIENT DEFAILLANT'); while($data=mysql_fetch_array($resulta)) { $feuille->SetCellValue('A1'.$ligne,$data['nomDemandeur']); $feuille->SetCellValue('B1'.$ligne, $data['conjoint']); $feuille->SetCellValue('C1'.$ligne, $data['debiteurBanque']); $ligne ++; } // envoi du fichier au navigateur header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="ListeClientsDebiteurs.xlsx"'); header('Cache-Control: max-age=0'); $writer = PHPExcel_IOFactory::createWriter($classeur, 'Excel2007'); $writer->save('php://output'); } } else { // on envoie de l'information à l'écran seulement si le bouton de génération n'a pas été cliqué //require 'include/entete.inc.php'; // affichage des données à l'écran // bouton qui permettra de générer le chiffrier Excel echo '<form method="post" action="' . $_SERVER['SCRIPT_NAME'] . '">'; echo '<input type="submit" value="Exporter vers Excel" name="excel" />'; echo '</form>'; }
Quelqu'un pourrait m'apporter son aide?
Cordialement .