解决PHPExcel导出长数字末尾几位数为0的问题

在做充值卡号和密码导出Excel的时候遇到了问题,数字的后两位总是0;

经查

在Excel中默认“常规”情况下,单元格中能完全显示的数据只有11位,超过11位,系统自动用科学记数显示。
当单元格格式设置为“数值”、小数点位数为0时,最多也只能完全显示15位数字,超过15位,从16位开始显示为0。

完整显示输入的所有数字,可以采用下述方法之一:
一是首先输入一英文单引号再输入数字。
二是把数据区域设置成“文本”格式后再输入数字。

 

在PHPExcel中解决的办法

//输出单元格值

//之前的部分代码

     $objActSheet->setCellValue('B'.$i, $value["CARDNO"]);
     $objActSheet->setCellValue('C'.$i, $value["CARDPWD"]);

//之后的部分代码

     $objActSheet->setCellValue('B'.$i, " ".$value["CARDNO"]);
     $objActSheet->setCellValue('C'.$i, " ".$value["CARDPWD"]);

 

就是这个" ",中间有空格哦,带空格的话就能把$value["CARDNO"]由数字型转换为字符型了,在JS中也能用这种技巧

此种方法也对1.00小数点后都为0的情况

发表评论

电子邮件地址不会被公开。 必填项已用*标注