当前位置:  开发笔记 > 编程语言 > 正文

PHP:如何使用科学记数法/指数格式从Excel数据中获取字符串格式的数据?

如何解决《PHP:如何使用科学记数法/指数格式从Excel数据中获取字符串格式的数据?》经验,为你挑选了1个好方法。

我在Yii2中有一个项目,它使用PHPExcel库来读取Excel文件.我有一个Transaction Id列,其中包含General format单元格中的数据.我的Excel文件的屏幕截图: 在此输入图像描述

你可以看到上面,如果我输入15个字符的数字并在其中放入两个点.它将显示为数字.

First Ex:输入=> 800.003.151476962在单元格中显示为 图片 并且在Formula Bar中显示为 图片

但如果在内部输入15个没有点数的字符,它将显示为科学记数法/指数.

第二个例子:输入=> 800003151476925在单元格中显示为 图片=> 科学记数法/指数数据格式,在公式栏中显示为 图片

当我尝试读取PHP中的数据时,我的PHP会将Second Ex数据读作科学记数法/指数格式而不是字符串/数字/小数.

如何在我的PHP 中将第二次Ex数据作为800003151476925(无论是字符串,数字还是十进制格式)而不是8.00003E + 14

谢谢 :)

:其实我已阅读并尝试在建议转换指数在PHP中的一个整数,转换指数数小数在PHP,转换指数数在PHP为十进制,但我什么也没得到.



1> Mark Baker..:

如果在一个值中加上2个点(小数点),那么它只能是一个字符串; 所以MS Excel会将它General(MS Excel 的默认单元格格式)格式化为字符串.使用单点(小数点),PHPExcel会将其视为一个数字,并相应地设置数据类型; 并且MS Excel会将其视为浮点数,如果MS Excel General格式规则大于标准的32位整数大小,则将其格式化为格式,将其视为浮点数.

如果要强制进行字符串格式化,则需要明确地执行此操作,方法是将其设置为字符串数据类型,setCellValueExplicit()以强制将其设置为字符串; 或设定的格式掩码比其它General0

$objPHPExcel->getActiveSheet()->getStyle('A9')
    ->getNumberFormat()
    ->setFormatCode(
        '0'
    );

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有