0
當我這樣設置
PHP創先爭優設置錯誤單元格值
->setCellValue('O' . $currentRow, 12000000000000111702)
或
->setCellValue('O' . $currentRow, "12000000000000111702")
單元格值則生成值1.2E + 19即12000000000000000000 誰能告訴我原因?
當我這樣設置
PHP創先爭優設置錯誤單元格值
->setCellValue('O' . $currentRow, 12000000000000111702)
或
->setCellValue('O' . $currentRow, "12000000000000111702")
單元格值則生成值1.2E + 19即12000000000000000000 誰能告訴我原因?
如果您需要將此值完全保留爲原樣而不是轉換爲浮點數(因爲它對於PHP int來說太大了),那麼您需要將該值明確設置爲字符串,使用
->setCellValueExplicit('O' . $currentRow, "12000000000000111702", PHPExcel_Cell_DataType::TYPE_STRING)
您實際上並不需要指定PHPExcel_Cell_DataType :: TYPE_STRING,因爲setCellValueExplicit()默認爲無論如何。
+1實際上,這段數據看起來像一個數字代碼而不是純粹的整數。 –
我認爲這是一個Excel問題,而不是PHP的問題。可能是單元格的格式。當你處理如此巨大的數字時,失去準確性是「正常的」。通常Excel工作到約15有效數字左右 – GarethL
事實上:如果我將數字12000000000000111702複製/粘貼到Excel單元格中,它會自動將其更改爲12000000000000100000 – GarethL
http://stackoverflow.com/questions/8647125/using-long- int-in-php – Shomz