当我将单元格的格式设置为%时,它会自动将该值乘以100并显示该值。因此94变为9400%。
我想在列上应用%格式,但希望保持与以前相同的值。我只想要%符号与值一起显示。我的价值应该是94%。为此,我使用了以下格式代码
$this->_xls_current_sheet->getStyle($cell_coordinates)->getNumberFormat()->applyFromArray(
array(
'code' => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE
));
如果你将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
),当您想要将其格式化为百分比时......它不会以任何方式神奇地更改值,它不会使它成倍增加一点都不
请注意,如果您使用高级值绑定器(而不是默认值绑定器),并将单元格值设置为50%
,那么PHPExcel将除以100并自动设置为百分比,与MS Excel GUI的方式相同。