Bonjour à tou(te)s,
je travaille sur mon export excell, et j'ai encore un souci :
- je n'arrive pas à faire passer plusieurs styles.
J'ai, d'un côté, mon fichier simplifié qui affiche 4 colonnes, avec la case 3 colorée.
De l'autre, j'ai l'exemple de PHP_XLSXWriter avec la largeur et hauteur à 40 px.
Mais je n'arrive pas à coder mon php pour que le tableau excell soit à la fois coloré, ET avec la largeur de cellule définie par mon code.
Soit mon code n'est pas interprété, soit j'ai un message d'erreur à l'ouverture, "mauvais format".
mon code :
$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);
$writer->writeToStdOut();
L'exemple :
$header = array(
"col1"=>"string",
"col2"=>"string",
"col3"=>"string",
"col4"=>"string",
);
$writer = new XLSXWriter();
$writer->writeSheetHeader('Sheet1', $header, $col_options = ['widths'=>[40,40,40,40]] );
$writer->writeSheetRow('Sheet1', $rowdata = array(1,2,3,4), $row_options = ['height'=>40,40,40,40] );
$writer->writeToStdOut();
Quelques essais :
j'essaye d'afficher mes cases avec la hauteur demandée -> la couleur fonctionne, mais pas la hauteur de la cellule.
$writer->writeSheetRow('Sheet1', $rowdata, $rowstyle, $row_options = ['height'=>40] );
J'essaye de concaténer les styles : le fichier ne s'ouvre pas, format incorrect
$writer->writeSheetRow('Sheet1', $rowdata, $rowstyle.$row_options = ['height'=>40] );
J'essaye de créer une première cellule vide, qui n'est là que pour donner la hauteur height. Le fichier ne s'ouvre pas.
$rowdata[]="";
$rowstyle[]=['height'=>40];
while($a<$i){
$rowdata[]=$a;
if ($a==2){
$rowstyle[]=['fill'=>'#cff'];
} else {
$rowstyle[]='';
}
$a++;
}
$writer->writeSheetRow('Sheet1', $rowdata, $rowstyle);
Avec cette syntaxe il s'ouvre, mais la hauteur n'est pas interprétée
$rowstyle[]=['height'=>'40'];
Et je passe les autres tests... Pourriez-vous m'éclairer ?
Merci !