PHPExcel替换了最后三个数字

时间:2013-12-02 12:09:53

标签: php export phpexcel xlsx

我正在使用PHPExcel将一些数据导出到Excel。除了导出用零替换数字的最后三位数字之外的一些奇怪行为,一切正常。

例如我有这个号码:876685900060999549

但是当导出时它是:876685900060999000

正如您所看到的,只有最后三位数字被零替换。 我已经尝试使用setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_NUMBER ),但不幸的是,这不起作用。

有人知道为什么只有最后三位被零替换,以及如何防止这种情况?

2 个答案:

答案 0 :(得分:1)

这些数字太大而无法在PHP(或MS Excel)中表示为32位整数,因此它们将被转换为浮点数并相应地损失精度。

为了解决这个问题,您需要强制它们被视为字符串值:您不显示代码,但尝试使用setCellValueExplicit()强制数据类型为字符串

答案 1 :(得分:0)

也许这会有所帮助: phpExcel write long number in cell

您还可以查看INI设置的精度: ini_set(“precision”,“20”);