Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPExcel编号格式显示不正确_Php_Format_Phpexcel_Number Formatting_Numerical - Fatal编程技术网

PHPExcel编号格式显示不正确

PHPExcel编号格式显示不正确,php,format,phpexcel,number-formatting,numerical,Php,Format,Phpexcel,Number Formatting,Numerical,我有一个从mysql导出的excel,它应该显示一列中的数据,该列的值为17位(一个唯一的数字引用)。 使用PHPExcel时,除此引用之外的所有内容都显示良好 我用过: $objPHPExcel->getActiveSheet()->getStyle('F'.$xlsRow)->getNumberFormat()->setFormatCode(PHPExcel\u Style\u NumberFormat::FORMAT\u NUMBER) 很接近,但是 当比较Excel工作表中的值和数据库中

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

我用过:
$objPHPExcel->getActiveSheet()->getStyle('F'.$xlsRow)->getNumberFormat()->setFormatCode(PHPExcel\u Style\u NumberFormat::FORMAT\u NUMBER)
很接近,但是

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

例如:

我尝试在setFormatCode和(PHPExcel#u Style#u NumberFormat::)中设置其他(数字和非数字)格式,但在使用字符串格式时,我要么得到######,在不使用任何内容或文本格式时得到科学符号(201308e+16),要么得到上面提到的输出(最后两位数字为零)

不知道我做错了什么


任何帮助都将不胜感激。

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

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

这肯定是选定的答案。。。但愿我两小时前偶然发现了这个!setCellValueExplicit是成功的关键
$objPHPExcel->getActiveSheet()
    ->setCellValueExplicit(
        'A1', 
        '20130829071002210', 
        PHPExcel_Cell_DataType::TYPE_STRING
    );