PHP 导出excel 时 设置数字格式带两位小数点方法及遇到的坑

1、首先要对excel列的数值进行处理 要用到 number_format()函数

number_format(number,decimals,decimalpoint,separator)

示例:

 $objPHPExcel->getActiveSheet()->setCellValue("G" . $pos, number_format(abs($v['value']),2,".",""));

参数1:要处理的数据

参数2:要保留小数点位数

参数3:表示 ‘小数点'位置用什么来表示,可以默认 . ,也可以设置成‘,'等其他符号。Ps:但我相信没人会这么干。 
参数4:表示每隔 千位时用什么来分割数字。如果没什么特殊要求,:有要进行运算的话最好设置为空。

注意:千位分隔符一旦设置了,就变成字符串了,在数据运算时会出错,最好设置为空,如果仅用于列表展示的话可以设置

2.但是光使用第一步处理  在php里面打印 数据格式确实改成2位小数点,而导出excel仍然是老格式,原因是需要去用代码设置单元格格式 。 (phpexcel 默认导出以后有小数点显示小数点,没有小数点就显示整数,后面没有”.00” ,如:100.00)

示例:

/*设置G金额字段格式为2位小数点*/
                    $objPHPExcel->getActiveSheet()->getStyle ('G')->getNumberFormat()->setFormatCode ("0.00");

 

你可能感兴趣的:(PHP)