PHPExcel编号格式显示不正确
我有一个从mysql导出的excel,它应该显示一列中的数据,该列的值为17位(一个唯一的数字引用)。 使用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工作表中的值和数据库中
$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
);