博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHPExcel设置数据格式,数据类型的几种方法
阅读量:3986 次
发布时间:2019-05-24

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

问题1:PHPExcel 长数字串显示为科学计数。

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

问题2:输入类似于 0123 的数据到单元格,会被替换为 123 。

为了解决以上的问题,需要设置的单元格的数据类型为字符串。

方法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);

setCellValueExplicit 方法比 setCellValue 方法多了一个参数,就是数据类型。

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

$objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->setTitle('Simple');$objPHPExcel->getActiveSheet()->setCellValue('D1', ' ' . 123456789033);

转载地址:http://kcaui.baihongyu.com/

你可能感兴趣的文章
UVa 1589 (implement)
查看>>
UVa 201 (implement)
查看>>
UVa 220 (implement)
查看>>
Mac 快捷键
查看>>
C++ 指针和引用
查看>>
Shell:syntax error near unexpected token
查看>>
C/C++:计算器
查看>>
GFW:Great Wall of China
查看>>
Uva 253 (implement)
查看>>
My Templet
查看>>
Codeforces 371D (Union-find)
查看>>
图论问题
查看>>
Mac:在线恢复
查看>>
C++:蚁群算法解决TSP(C++多线程版)
查看>>
C++:vector遍历,拷贝,插入
查看>>
C++:const
查看>>
POJ:1737
查看>>
windows:用bat脚本删除指定后缀的文件
查看>>
POJ:1738
查看>>
Scrapy:测试代理ip
查看>>