Я пишу в лист Excel некоторые процентные значения с помощью следующего кода. Положительные значения процента работают нормально. Я вижу знак% с ними. Отрицательные значения не показывают знак процента. Однако, когда я дважды щелкаю ячейку для редактирования, она показывает знак процента. Я также хочу показать знак процента для отрицательных значений. Это возможно? Вот мой код, который записывает значение:
$spreadsheet->getActiveSheet()
->getStyle('A2')
->getNumberFormat()
->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE);
$spreadsheet->getActiveSheet()
->setCellValueExplicit('A2', -0.05, PHPExcel_Cell_DataType::TYPE_NUMERIC;);
Да, PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE
используется только для положительных чисел, потому что это эквивалентно для формата 0%
, Пользовательский формат ячейки Excel должен быть определен как <POSITIVE>;<NEGATIVE>;<ZERO>;<TEXT>
,
Итак, вы должны использовать пользовательский формат, как 0%;-0%
:
// ... other code
->setFormatCode('0%;-0%');
Других решений пока нет …