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

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

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

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

0,077922078

to

8%

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

Спасибо заранее.

Ответы

Ответ 1

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

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

Ответ 2

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

$workSheet
    ->getStyleByColumnAndRow($column, $row)
    ->getNumberFormat()
    ->setFormatCode('0.000%;[Red]-0.000%');

Ответ 3

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

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

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