使用 PHPExcel 导入 Excel 大数字会自动转为科学计数法
我在使用 phpoffice/phpexcel
这个包读取excel文件时,较大的数字会自动转为科学计数法
如 1633653816560660 会转化为 1.6336538165607E+15,本来我还可以再手动转回来,但是发现它在转的时候会四舍五入。
我这边的业务需要验证这个数字的准确性,导致我校验无法通过。
请问,我该如何做?
导出到excel之前对该字段强制字符串化,比如前面拼接上一个简单字符串,' ' 或者 ',' , 或者 '`' 类似,官方貌似可以这样
$objActSheet->setCellValueExplicit('A1', '330602198804224688', PHPExcel_Cell_DataType::TYPE_STRING);
或者这样
$objActSheet->getStyle('A1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
自己实践下吧
@kaidy 你这个是导出到 excel 吧,我这边的需求是把 execl 中的数据导入到数据库,但是我用 phpExcel 导入后得到的是科学计数法。并且还四舍五入了导致我没法转回来。
这个问题 大家经常遇到
贴一段海豚php excel 插件里的导入逻辑, 不光要处理大数字 还要处理日期
我也遇到过这个问题
解决方案是 把这列数据的格式改为 《会计专用》 即可解决问题 你到时保存时 记得都拼接上双引号 这样 导出时 也就是ok的了
直接在值后面拼接一个制表符即可