当前位置: 首页 > news >正文

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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

解决 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://my.oschina.net/kisshua/blog/416365

相关文章:

  • .Mobi域名介绍
  • QueryDb
  • vmware、操作系统、数据库软件、oracle 补丁地址
  • 乾坤合一~Linux设备驱动之I2C核心、总线以及设备驱动
  • C#学习笔记七索引器
  • sprint计划会议
  • 最简单的浏览器检测JavaScript代码
  • http statusCode(状态码)
  • 一步一步学Silverlight 2系列(5):实现简单的拖放功能
  • iis报错
  • Xcode 添加 Cocos2d-x Scene 模板
  • java jdk下载与配置
  • 简单的javascript代码给页面一个奇迹
  • java常用四种排序源代码
  • Dave Python 练习二
  • 5、React组件事件详解
  • canvas绘制圆角头像
  • Java 内存分配及垃圾回收机制初探
  • Java基本数据类型之Number
  • Laravel5.4 Queues队列学习
  • Nacos系列:Nacos的Java SDK使用
  • php的插入排序,通过双层for循环
  • PHP面试之三:MySQL数据库
  • text-decoration与color属性
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 工作中总结前端开发流程--vue项目
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 事件委托的小应用
  • 微信小程序:实现悬浮返回和分享按钮
  • 找一份好的前端工作,起点很重要
  • 做一名精致的JavaScripter 01:JavaScript简介
  • MPAndroidChart 教程:Y轴 YAxis
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 如何正确理解,内页权重高于首页?
  • 昨天1024程序员节,我故意写了个死循环~
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #控制台大学课堂点名问题_课堂随机点名
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (3)nginx 配置(nginx.conf)
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (八)c52学习之旅-中断实验
  • (利用IDEA+Maven)定制属于自己的jar包
  • (四)模仿学习-完成后台管理页面查询
  • (小白学Java)Java简介和基本配置
  • (转)大道至简,职场上做人做事做管理
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)