J'automatise une feuille de calcul Excel avec PHP.
Je cherchais un moyen de formater de manière pragmatique une cellule à un pourcentage dans PHPExcel.
Je veux changer une valeur comme
0.077922078
à
8%
Y a-t-il une solution pour cela?
Merci d'avance.
en supposant que votre cellule est A1 ..
$objPHPExcel->getActiveSheet()->getStyle('A1')
->getNumberFormat()->applyFromArray(
array(
'code' => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00
)
);
La bibliothèque PHPExcel n'a prédéfini que quelques constantes de formatage de base. Vous pouvez réellement créer le vôtre pour pratiquement n'importe quel objectif (coloration, formatage de décimales, milliers, etc.). Les capacités de formatage dans Excel sont énormes. Ce qui suit va formater le pourcentage avec 3 décimales et colorer les valeurs négatives en rouge:
$workSheet
->getStyleByColumnAndRow($column, $row)
->getNumberFormat()
->setFormatCode('0.000%;[Red]-0.000%');
Vous pouvez essayer ce code:
$colLetter = "A";
$rowNumber = "1";
$objPHPExcel->getActiveSheet()
->getStyle("$colLetter:$rowNumber")
->getNumberFormat()
->applyFromArray([
"code" => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE
]);