PHPExcel导入excel文件时,如果某例的数字太长 识别出来的是科学计算法的数据
如上图的车辆VIN码,导入时PHP得到的是:8.66289E+14
查了下资料 原来PHPExcel自带处理函数: getFormattedValue()
修改代码:
//$objPHPExcel->getActiveSheet()->getCell('C'.$i)->getValue(); $objPHPExcel->getActiveSheet()->getCell('C'.$i)->getFormattedValue();
问题解决,不过这个方式对日期类型的数据效果不好;
还有一种方式,通过 number_format 对其格式化
/*还原科学计数*/ function decimalNotation($num) { $parts = explode('E', $num); if (count($parts) != 2) { return $num; } $exp = abs(end($parts)) + 3; $decimal = number_format($num, $exp, '.', ''); $decimal = rtrim($decimal, '0'); return rtrim($decimal, '.'); }
这下再导入得到的数据就是正确的了;
转载请注明本文标题和链接:《 解决PHPExcel导入数字被转科学计数问题 》
网友评论 0