gpt4 book ai didi

PHPExcel 数字格式显示不正确

转载 作者:可可西里 更新时间:2023-11-01 13:50:27 35 4
gpt4 key购买 nike

我有一个从 mysql 导出的 excel,它应该显示一个包含 17 位数字值(唯一的数字引用)的列中的数据。使用 PHPExcel 时,除此引用外的所有内容都显示正常。

我用过:$objPHPExcel->getActiveSheet()->getStyle('F'.$xlsRow)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);这很接近,但是......

当比较 Excel 工作表中的值和数据库中的原始数据时,我看到引用的最后 2 位数字设置为 00。

例如:

`20130829071002200` instead of `20130829071002210`

我尝试在 setFormatCode 和 (PHPExcel_Style_NumberFormat::) 中设置其他(数字和非数字)格式,但我要么在使用 STRING 格式时得到 ######,要么在使用 STRING 格式时得到科学记数法 (2,01308E+16)不使用任何内容或 TEXT 格式或上面提到的输出(最后 2 位数字为零)

不知道我做错了什么......

如有任何帮助,我们将不胜感激。

最佳答案

我建议这是因为您的数字太大而无法存储为 32 位整数值,因此它被隐式设置为 float (具有所有相应的精度问题)。如果您正在处理这么大的数值,那么您确实需要将它们视为字符串。当您将值存储在 PHPExcel 单元格中时,使用带有字符串类型的 setCellValueExplicit()。

$objPHPExcel->getActiveSheet()
->setCellValueExplicit(
'A1',
'20130829071002210',
PHPExcel_Cell_DataType::TYPE_STRING
);

关于PHPExcel 数字格式显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18504903/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com