zoukankan      html  css  js  c++  java
  • 解决 PHPExcel 长数字串显示为科学计数

    解决 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);
    

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

    转自:http://www.netingcn.com/phpexcel-big-number-display.html

    这几种方法经实验,方法一必须要双击一下单元格,才能显现效果;方法二提示语法错误,而方法三,双击单元格后文本格式会消失,所以把方法一和方法三同时应用可得到想要的效果。

    这篇博文就是这样处理的:http://xlyztbz.blog.163.com/blog/static/63673452011090155873/

  • 相关阅读:
    计算机网络知识 第一部分
    LAMP环境安装
    Axure RP 交互设计
    Axure RP 界面功能
    Axure RP 界面功能介绍
    Axure RP 第一部分
    Grub管理修改root口令
    MYSQL 部分练习题
    工作日志示例
    计算机网络的分类
  • 原文地址:https://www.cnblogs.com/shanmao/p/3282519.html
Copyright © 2011-2022 走看看