解决 PHPExcel 长数字串显示为科学计数
解决 显示 科学 计数 PHPExcel
2023-09-11 14:21:55 时间
解决 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);
推荐使用第二、三种,第一种没有根本解决问题。
相关文章
- 系统报 “client没有所需的特权” 的解决方法
- 这个自动化框架吧,解决接口间数据依赖
- Sqlserver数据库还原一直显示“正在还原…”解决方法
- proxyTable 解决跨域问题
- IntelliJ IDEA 解决控制台不能显示日志
- CSS - 完美解决 flex 布局下,一行显示固定个数(平均分布)并且强制换行,超出后 “靠左“ 对其(详细解决方案,适用于 Web、Vue、React 等任何前端项目)
- Linux 安装中文字体,解决火狐中文显示方块问题
- redis 中文显示的问题解决方法
- IDEA 无法显示 Run Dashboard 的解决方法
- 安装 D2l 报错 全网最新解决方式
- opencv多线程显示的问题和解决方法
- 【Docker】解决Docker创建Tomcat容器实例后访问Tomcat主页时报HTTP状态404-未找到的错误
- MySQL如何永久解决由dos编码格式导致MySQ的显示乱码
- 还在担心WiFi成本高吗?新技术帮你解决难题
- Linux环境下MySql5.6安装和常见问题的解决
- POI 导出excel带小数点的数字格式显示不对解决方法
- POI 导出excel带小数点的数字格式显示不对解决方法
- 国外浏览器无法访问apple ID页面,显示502 Bad Gateway,解决方法
- 一个整合OkHttp 、Retrofit 、Volley 、RxJava、Novate多种开源网络框架的项目,高度的封装和集成,Android中Web网络请求一行代码解决