phpexcel读取excel中数字异常问题

读取前,为避免excel数据格式不统一,把单元格格式全部改为文本,文件中的数字全部是文本格式
phpexcel读取excel中数字异常问题_第1张图片
但是读取的结果,php还是自动把数字自动转换成了float格式。但是,蛋疼的是,同样的数据格式,有个别数字被转换成了一长串!
phpexcel读取excel中数字异常问题_第2张图片
那没办法了,那就四舍五入保留一位小数吧,只能麻烦点了。
但是,日他妈哦,round()根本不管用,还是一场串子。
百度了下,有说是php精度问题,设置ini_set(‘precision’,-1),这个有待测试
我使用的是第二种方式:
原理应该是底层运算二进制的问题
可以利用这个方式解决:sprintf(“%.2f”,83.59999999999999); 这样是保留2位小数。想保留一位就%.1f

读取数据是对象,导致报错的

phpexcel读取excel中数字异常问题_第3张图片
解决办法

$val= $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
		    		
if (is_object($val)) {  			 
   $val = $val->__toString();
}

你可能感兴趣的:(phpexcel读取excel中数字异常问题)