博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
phpexcel科学计数法
阅读量:6575 次
发布时间:2019-06-24

本文共 1394 字,大约阅读时间需要 4 分钟。

解决 PHPExcel 长数字串显示为科学计数

在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号。

使用PHPExcel来生成excel,也会遇到同样的问题,解决方法有三种:

1、设置单元格为文本

$objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->setTitle('Simple');//设置A3单元格为文本$objPHPExcel->getActiveSheet()->getStyle('A3')->getNumberFormat()	->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);//也可以设置整行或整列的style/*//E 列为文本$objPHPExcel->getActiveSheet()->getStyle('E')->getNumberFormat()	->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);//第三行为文本$objPHPExcel->getActiveSheet()->getStyle('3')->getNumberFormat()	->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);*/

更多的格式可以在PHPExcel/Style/NumberFormat.php中找到。注意:上述的设置对长数字字符串还是以文本方式来显示科学计数法的结果,原因可能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);

推荐使用第二、三种,第一种没有根本解决问题。

转载于:https://www.cnblogs.com/zhangxiangdong/p/9209542.html

你可能感兴趣的文章
高性能服务器架构思路
查看>>
计算机网络期末复习资料
查看>>
系统移植总结
查看>>
WiresShark 图解教程1
查看>>
无法识别的属性“decompressionEnabled”处理方法
查看>>
4. Jmeter主界面的介绍
查看>>
TYVJ1467 通往聚会的道路
查看>>
包信封问题 以及 最长有序子序列问题
查看>>
【转载】Java NIO学习
查看>>
【旅行】1月17日镇江自驾游
查看>>
MySQL军规
查看>>
解决国内NPM安装依赖速度慢问题
查看>>
js进阶 14-6 $.ajax()方法如何使用
查看>>
P1174 打砖块
查看>>
java常见面试题及答案 1-10(基础篇)
查看>>
编写程序,输入一个N,返回角谷变换(达到1所需)的次数
查看>>
js的一些注意点
查看>>
PowerShell 方式部署Sharepoint Solution
查看>>
Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
查看>>
文件 md5 查看 命令
查看>>