Форматирование ячейки в процентах в PHPExcel


Я автоматизирую электронную таблицу Excel с помощью PHP.

Я искал способ прагматично отформатировать ячейку в процентах в PHPExcel.

Я хочу изменить значение, например

0.077922078

До

8%

Есть ли решение для этого?

Заранее благодарю.

Author: pnuts, 2013-05-08

3 answers

Предполагая, что ваша ячейка равна A1..

$objPHPExcel->getActiveSheet()->getStyle('A1')
    ->getNumberFormat()->applyFromArray( 
        array( 
            'code' => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00
        )
    );
 35
Author: , 2013-05-07 21:43:46

Библиотека PHPExcel предопределила только несколько основных констант форматирования. На самом деле вы можете создать свой собственный практически для любых целей (раскрашивание, форматирование десятичных знаков и тысяч и т.д.). Возможности форматирования в Excel огромны. Следующее отформатирует проценты с 3 десятичными знаками и раскрасит отрицательные значения в красный цвет:

$workSheet
    ->getStyleByColumnAndRow($column, $row)
    ->getNumberFormat()
    ->setFormatCode('0.000%;[Red]-0.000%');
 1
Author: lubosdz, 2016-08-28 13:53:38

Вы можете попробовать этот код:

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

$objPHPExcel->getActiveSheet()
    ->getStyle("$colLetter:$rowNumber")
    ->getNumberFormat()
    ->applyFromArray([
        "code" => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE
    ]);
 0
Author: simhumileco, 2017-07-19 13:17:19