web-dev-qa-db-fra.com

Formater une cellule en pourcentage dans PHPExcel

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.

17
cwiggo

en supposant que votre cellule est A1 ..

$objPHPExcel->getActiveSheet()->getStyle('A1')
    ->getNumberFormat()->applyFromArray( 
        array( 
            'code' => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00
        )
    );
37
user557846

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%');
1
lubosdz

Vous pouvez essayer ce code:

$colLetter = "A";
$rowNumber = "1";

$objPHPExcel->getActiveSheet()
    ->getStyle("$colLetter:$rowNumber")
    ->getNumberFormat()
    ->applyFromArray([
        "code" => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE
    ]);
0
simhumileco