[RESOLU] Export Excell en php, avec des cellules de couleur

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 : [RESOLU] Export Excell en php, avec des cellules de couleur

Re: Export Excell en php, avec des cellules de couleur

par petite fée » 07 févr. 2025, 11:16

Bonjour @rthur et merci de ton aide,
oui j'utilise bien cette librairie, et l'exemple vers lequel tu m'as envoyé m'a bien aidée.
J'avais oublié de mettre les styles vides pour les lignes que je ne voulais pas colorer.
En clair (pour ceux que ça intéresse) - je voulais colorer une case choisie, et pas la ligne entière ou la colonne :
$rowdata=array();
$rowstyle=array();

$i=5;
$a=0;

while($a<$i){
	
	$rowdata[]=$a;
		if ($a==2){
		$rowstyle[]=['fill'=>'#cff'];
		} else {
		$rowstyle[]='';
		}
	
	$a++;
	
}

$writer->writeSheetRow('Sheet1', $rowdata, $rowstyle);
:)

Re: Export Excell en php, avec des cellules de couleur

par @rthur » 06 févr. 2025, 07:37

Si tu utilises bien cette librairie PHP :
https://github.com/mk-j/PHP_XLSXWriter/

Alors vérifie que tu aies bien la dernière version (0.39), et essaye d'exécuter l'exemple fourni pour vérifier si le paramètre fill fonctionne bien :
https://github.com/mk-j/PHP_XLSXWriter/ ... styles.php

Export Excell en php, avec des cellules de couleur

par petite fée » 05 févr. 2025, 17:07

Bonjour à toutes et tous,

je fais un export d'un tableau en excell, et j'aimerais que certaines cellules soient colorées (et pas toutes).
j'y suis presque, mais je n'arrive pas à mettre la couleur dans les cellules que je veux. J'ai cherché et trouvé plusieurs tutos mais je n'arrive pas à les adapter sur mon code.

Voici un bout de code :

Code : Tout sélectionner

$rowstyle = array(); ... ma requête ... ma boucle while { $rowdata[]=$date; if($date<date('Ymd')){ $rowstyle[] = array('fill'=>"#fa5867"); } } ... $writer->writeSheetRow('Sheet1', $rowdata, $rowstyle);
Merci de votre aide,

E.