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

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

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

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

0.077922078

до

8%

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

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

3 ответов


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

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

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

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

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

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

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