我正在使用PHPExcel将一些数据导出到Excel。除了导出用零替换数字的最后三位数字之外的一些奇怪行为,一切正常。
例如我有这个号码:876685900060999549
但是当导出时它是:876685900060999000
正如您所看到的,只有最后三位数字被零替换。
我已经尝试使用setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_NUMBER )
,但不幸的是,这不起作用。
有人知道为什么只有最后三位被零替换,以及如何防止这种情况?
答案 0 :(得分:1)
这些数字太大而无法在PHP(或MS Excel)中表示为32位整数,因此它们将被转换为浮点数并相应地损失精度。
为了解决这个问题,您需要强制它们被视为字符串值:您不显示代码,但尝试使用setCellValueExplicit()
强制数据类型为字符串
答案 1 :(得分:0)
也许这会有所帮助: phpExcel write long number in cell
您还可以查看INI设置的精度: ini_set(“precision”,“20”);