PHP Excel中设置百分比格式时保留原数值的实现问题
在PHPExcel中实现数值原样加%符号的显示效果
嘿,这个需求太常见了!默认的百分比格式之所以会把94变成9400%,是因为Excel本身的逻辑是把0-1之间的小数映射为百分比(比如0.94对应94%),而PHPExcel的内置百分比格式完全遵循这个规则。要实现“数值不变,只加%符号”的效果,咱们不用内置的百分比格式,改用自定义数字格式就搞定了!
具体实现代码
直接给你能用的代码示例,假设你要给A列设置这个格式:
// 先确保你已经创建并初始化了$objPHPExcel对象 $activeSheet = $objPHPExcel->getActiveSheet(); // 目标列:这里是A列,你可以改成你需要的列(比如'B:B') $targetColumn = 'A:A'; // 设置自定义格式:原样显示数值,末尾加上%符号 $activeSheet->getStyle($targetColumn) ->getNumberFormat() ->setFormatCode('0"%"');
格式代码说明
0:表示以整数形式显示原始数值,如果你需要保留小数(比如94.5显示成94.5%),可以改成0.0"%"(保留1位小数)或者0.00"%"(保留2位小数)。"%":用双引号包裹的%是纯文本符号,Excel不会对它做任何数值计算,只会直接追加在数值后面。
这样设置后,单元格里的数值还是你原来的94,只是显示成94%,完全符合你的要求~
内容的提问来源于stack exchange,提问作者Umar Adil
相关产品推荐
相关产品推荐

