php导出excel长数字串显示为科学计数方法与最终解决方法

时间:2024-04-15 18:21:43

1、设置单元格为文本

$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex(0);

$objPHPExcel->getActiveSheet()->setTitle(\'Simple\');//设置A3单元格为文本

$objPHPExcel->getActiveSheet()->getStyle(\'A3\')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);

注意:上述的设置对长数字字符串还是以文本方式来显示科学计数法的结果,原因可能php在处理大数字时采用的科学计数法。

2、在设置值的时候显示的指定数据类型

$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex(0);

$objPHPExcel->getActiveSheet()->setTitle(\'Simple\');

$objPHPExcel->getActiveSheet()->setCellValueExplicit(\'D1\', 123456789033, PHPExcel_Cell_DataType::TYPE_STRING);

3、在数字字符串前加一个空格使之成为字符串

$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex(0);

$objPHPExcel->getActiveSheet()->setTitle(\'Simple\');$objPHPExcel->getActiveSheet()->setCellValue(\'D1\', \' \' . 123456789033);

三种方法单一使用都有问题,第一种方法还是显示科学计数法,第二、三种虽然可以显示,但是单击进去表格就变了,所以最好的解决方法是综合第一二种方法,又能改变数字,又修改了单元格样式。第三种虽然也可以结合第一种,但是出现个空格感觉不是很正规于是没有使用。