PHPExcel 长数字串显示为科学计数 与 其他错误
2016-05-16 12:05
756 查看
一、解决 PHPExcel 长数字串显示为科学计数
在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法,例如身份证号码,解决方法是把表格设置文本格式或在输入前加一个单引号。
使用PHPExcel来生成excel,也会遇到同样的问题,解决方法有三种:
1、设置单元格为文本
更多的格式可以在PHPExcel/Style/NumberFormat.php中找到。注意:上述的设置对长数字字符串还是以文本方式来显示科学计数法的结果,原因可能php在处理大数字时采用的科学计数法。
2、在设置值的时候显示的指定数据类型
3、在数字字符串前加一个空格使之成为字符串
推荐使用第二、三种,第一种没有根本解决问题。
转自 http://blog.163.com/tfz_0611_go/blog/static/20849708420146172398214/
二、
PHP Fatal error: Cannot access protected property PHPExcel_Calculation::$_savedPrecision in E:\Websites\natural\web_pc\extensions\PHPExcel\Calculation.php on line 1739
public function __destruct() {
if(isset($this->_savedPrecision)) {
if ($this->_savedPrecision != ini_get('precision')) {
ini_set('precision', $this->_savedPrecision);
}
}
}
在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://blog.163.com/tfz_0611_go/blog/static/20849708420146172398214/
二、
PHP Fatal error: Cannot access protected property PHPExcel_Calculation::$_savedPrecision in E:\Websites\natural\web_pc\extensions\PHPExcel\Calculation.php on line 1739
public function __destruct() {
if(isset($this->_savedPrecision)) {
if ($this->_savedPrecision != ini_get('precision')) {
ini_set('precision', $this->_savedPrecision);
}
}
}
相关文章推荐
- PHPExcel 使用(1)
- XHProf Documentation (XHProf 中文手册)
- wamp下php无法保存SESSION问题总汇
- O'Reilly-现代php译文-特性02(3)
- php使用curl通过代理获取数据的实现方法
- Yii2 使用基本配置
- PHP文件上传(2)
- PHP面向对象笔记
- thinkphp 打印输出
- 2016/05/16 thinkphp3.2.2 验证码使用
- php curl采集时 curl connect error
- ubuntu安装php-curl与php-tidy扩展
- php中array_unshift()修改数组key注意事项分析
- php 从myslql里导出到excel
- PHP后台执行
- LNMP-php-fpm参数优化
- php 之 PDO数据访问抽象层(0513)
- thinkPHP3.2简单实现文件上传的方法
- PHP7扩展开发及内核应用开发发布中
- 用实例分析H264 RTP payload(RTSP参数分析)