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

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

之前:

wKiom1R-lPuztDEAAADAlKgsV3E616.jpg


之后:


wKioL1R-lY-QIbvAAADuf6qS_9I167.jpg



phpexcel导出excel长数字串显示为科学计数怎么办?



本人在用phpexcel导出的excel中长字符串数字,例如***号码,银行卡号会显示为科学计算法
下面说一下解决办法:
1、在数字字符串前加一个空格使之成为字符串

$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(14, $i, ' '.$v['ex_zjhm']);

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

$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('Simple');

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






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

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

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

1、设置单元格为文本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$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、在设置值的时候显示的指定数据类型

1
2
3
4
5
6
$objPHPExcel  new  PHPExcel();
$objPHPExcel ->setActiveSheetIndex(0);
$objPHPExcel ->getActiveSheet()->setTitle( 'Simple' );
$objPHPExcel ->getActiveSheet()->setCellValueExplicit( 'D1' ,
                                  123456789033, 
                                  PHPExcel_Cell_DataType::TYPE_STRING);


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

1
2
3
4
$objPHPExcel  new  PHPExcel();
$objPHPExcel ->setActiveSheetIndex(0);
$objPHPExcel ->getActiveSheet()->setTitle( 'Simple' );
$objPHPExcel ->getActiveSheet()->setCellValue( 'D1' ' '  . 123456789033);


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




http://my.oschina.net/jyb2014/blog/300089






   本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1585876,如需转载请自行联系原作者







相关文章:

  • 【HIHOCODER 1403】后缀数组一·重复旋律(后缀数组)
  • C#中如何将DataTable中的数据写入Excel
  • 打印机的一些高级设置
  • Qt4--FormLayout
  • 通用服务器桩-Receiver使用说明文档
  • linux ftp 实例
  • 啥活都得干好
  • python框架对比
  • 最快的搭建PXE
  • DBImport v3.0 中文版发布-支持各大数据库数据互导(IT人员必备工具)
  • C语言的第一堂课
  • linux定时任务的设置
  • WPF命中测试示例(二)——几何区域命中测试
  • heartbeat-ldirectord的配置
  • LLVM 与 Clang 介绍
  • IDEA 插件开发入门教程
  • java小心机(3)| 浅析finalize()
  • java中的hashCode
  • js面向对象
  • js学习笔记
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • October CMS - 快速入门 9 Images And Galleries
  • Python中eval与exec的使用及区别
  • Vue2 SSR 的优化之旅
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 测试开发系类之接口自动化测试
  • 前端_面试
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 问题之ssh中Host key verification failed的解决
  • 智能网联汽车信息安全
  • 如何在招聘中考核.NET架构师
  • ​configparser --- 配置文件解析器​
  • ​低代码平台的核心价值与优势
  • "无招胜有招"nbsp;史上最全的互…
  • #《AI中文版》V3 第 1 章 概述
  • #git 撤消对文件的更改
  • #laravel 通过手动安装依赖PHPExcel#
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (C++17) optional的使用
  • (独孤九剑)--文件系统
  • (三)终结任务
  • (一)插入排序
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)大道至简,职场上做人做事做管理
  • (转)可以带来幸福的一本书
  • (转)详解PHP处理密码的几种方式
  • .NET NPOI导出Excel详解
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .考试倒计时43天!来提分啦!
  • /bin/bash^M: bad interpreter: No such file or directory
  • ??myeclipse+tomcat
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [20190113]四校联考
  • [20190416]完善shared latch测试脚本2.txt