phpexcel导出数据 出现Formula Error的解决方案

phpexcel导出数据报错 Uncaught exception ‘Exception‘ with message ‘Sheet1!A1364 -> Formula Error: Unexpected operator ‘=‘‘

在excel中一个单元格如果是以“=”开头,则说明这个单元格是根据其他单元格的值算出来的,“=”后面必须跟着一个合法的表达式

而那个字符串是用户的输入,很明显不应该是一个合法的表达式,所以应该在代码中过滤掉

方法很简单,在“=”前面加一个半角的单引号就可以了,所以修改后的代码如下:

// 找到读取单元格数据的地方,做一下处理
if(strpos($formula,‘=‘) === 0){
        $formula = "‘".$formula;
}

  

原文地址:https://www.cnblogs.com/xi-jie/p/10645195.html

时间: 2024-08-07 19:02:48

phpexcel导出数据 出现Formula Error的解决方案的相关文章

CodeIgniterCodeigniter+PHPExcel导出数据到Excel文件

解压压缩包里的Classes文件夹中的内容到application\libraries\目录下,目录结构如下:--application\libraries\PHPExcel.php--application\libraries\PHPExcel(文件夹)修改application\libraries\PHPExcel\IOFactory.php文件--将其类名从PHPExcel_IOFactory改为IOFactory,遵从CI类命名规则.--将其构造函数改为public $this->loa

让phpexcel导出数据0000

华彩CC网投国际转发:原文为 http://www.kubiji.cn/juhe-id9013.html 摘要:最近做一个php项目的时候,遇到一个问题.功能:使用phpexcel导出数据.问题描述:导出身份证后四位是0000这是因为在excel中如...最近做一个php项目的时候,遇到一个问题. 功能:使用phpexcel导出数据. 问题描述:导出身份证后四位是0000 这是因为在excel中如果在一个默认的格中输入或复制超长数字字符串,它会显示为科学计算法. 方法一:设置单元格为文本$obj

php利用phpexcel导出数据

php中利用phpexcel导出数据的实现代码.对phpexcel类库不熟悉的朋友,可以阅读下<phpexcel中文帮助手册>中的内容,具体实例大家可以phpexcel快速开发指南中的相关例子. 完整代码: public function export_data($data = array()) { # code... include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/Writer/IWriter.php') ; include_on

PHPexcel导出数据

百度PHPexcel 进入后 选择branches  进入选择版本 拷贝classes文件 改名为PHPexcel 下面是我用thinkphp3.2.3写的一个简单导出 public function PHPexcel(){ $path=str_replace('\\','/',__FILE__);//替\为/ $arr=explode('/',$path); $str = $arr[0].'/'.$arr[1].'/'.$arr[2].'/'.$arr[3].'/';//拼装文件路径 $a =

phpexcel导出数据表格

1.下载phpexcel 2.在页面引入phpexcel的类文件,并且造该类的对象 include("../chajian/phpexcel/Classes/PHPExcel.php"); $excel = new PHPExcel(); 3.查询数据库得出二维数组这里数组名为:$attr 4.导出excel代码,表头数组和数据数组对应: //Excel表格式,这里简略写了10列 $letter = array('A','B','C','D','E','F','F','G','H','

PHPExcel导出数据的基本使用方法

1 <?php 2 //引入excel文件 3 include "Phpexcel/Phpexcel.php"; 4 include "Phpexcel/Phpexcel/Writer/Excel2007.php"; 5 //实例化对象 6 $objExcel = new PHPExcel(); 7 //获得当前sheet操作对象 8 $objSheet = $objExcel->getActiveSheet(); 9 //设置sheet名称 10 $o

exception ‘PHPExcel_Calculation_Exception‘ with message ‘粉丝数据!C2679 -&gt; Formula Error: Operator ‘=‘ has no operands

导致问题原因可能是导出字段中包含有  '='  ,解决办法:在字段前拼上一个半单引号. if(strpos($lists[$i-2]['nickname'],'=') === 0){ $lists[$i-2]['nickname'] = "'".$lists[$i-2]['nickname']; } //csv的标题头 $headTitle = array( '开卡场馆', '卡号', '会员姓名', '开卡类型', '累计消费', '会员余额', '开卡时间', '操作员', '推荐

使用PHPExcel实现数据批量导出为excel表格

首先需要下载PHPExecel类文件,帮助文档可以参考PHPExcel中文帮助手册|PHPExcel使用方法. 下面直接上例子,是我自己写的一个简单的批量导出数据为excel的例子 前台页面 比较简单,就是一个超链接,跳转到处理页面,超链接也可以跟一些参数(看需求)! <a href="./Process1.php">导出excel表格</a> 后台Process.php页面 /** * 批量导出数据 * @param $arr 从数据库查询出来,即要导出的数据

关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法

原文:关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法 上次在开发一个项目时,用到PHPExcel导出数据,其中有导出身份证等长串数字时导出的Excel中显示为科学计数方式. 这种显示很不人性化而且量多了修改起来也很麻烦. 这是因为Excel处理数字里默认数字太长会转化为科学计数法,处理起来很简单,我们在导出时把数字转为字符串,Excel就不会识别为数字了,也就不会显示为科学计数方式. 我的处理方式是在变量后面加个空格,简单方便. $usercode .= ' '; $