在PHP Excel中添加百分比数字格式

时间:2018-02-28 15:48:45

标签: php phpexcel number-formatting percentage

当我将单元格的格式设置为%时,它会自动将该值乘以100&显示价值。因此94变为9400%。

我想在列上应用%格式,但希望保持与以前相同的值。我只想要%符号与值一起显示。我的价值应该是94%。为实现这一目标,我使用了以下格式代码

$this->_xls_current_sheet->getStyle($cell_coordinates)->getNumberFormat()->applyFromArray( 
 array( 
 'code' => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE
));

1 个答案:

答案 0 :(得分:0)

如果您将0.5存储在单元格中,并将其格式化为百分比,那么它将显示为50% ....如果您将50存储在单元格中,并且格式化它作为一个百分比,然后它将显示为5000%应该如何。

如果在MS Excel GUI中输入50作为数字,然后手动将格式掩码设置为百分比,则会显示5000%的显示值。但是,如果在MS Excel GUI中输入50%,则MS Excel将值除以100以在单元格中存储0.5,并将其格式化为百分比(一步中两个操作)。如果您在MS Excel中以这种方式设置50%,然后将格式掩码从百分比更改为数字,那么您将看到MS Excel已为您完成此分区。

PHPExcel没有这样做(默认情况下)...它希望您将正确的值和格式设置为两个单独的步骤。因此PHPExcel希望您首先在单元格中存储正确的值(0.5),当您想要将其格式化为百分比....它不会以任何方式神奇地更改值,它不会和#39; t将它相乘。

请注意,如果您使用高级值绑定器(而不是默认值绑定器),并将单元格值设置为50%,那么PHPExcel将除以100并自动设置为百分比,同样作为MS Excel GUI的方式。