在导入excel的时候会出现异常情况,有的问题出现PHPExcel_RichText object,错误代码如下
PHPExcel_RichText Object ( [_richTextElements:PHPExcel_RichText:private] => Array ( [0] => PHPExcel_RichText_Run Object ( …
导致无法导入数据库数据都为空,就是格式编辑问题
import('PHPExcel.PHPExcel');
$objPHPExcel = new \PHPExcel();
$objWriter = new \PHPExcel_Reader_Excel2007($objPHPExcel); //设置保存版本格式
$PHPExcel=$objWriter->load($str);
$currentSheet = $PHPExcel->getSheet(0); // 获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
$allColumn = $currentSheet->getHighestColumn(); // 获取总列数
$allRow = $currentSheet->getHighestRow(); // 获取总行数
$data=array();
// dump($allRow); dump($allColumn);
for($j=1;$j<=$allRow;$j++){
//从A列读取数据
for($k='A';$k<=$allColumn;$k++){
// 读取单元格
$execlvalue =$PHPExcel->getActiveSheet()->getCell("$k$j")->getValue();
if(is_object($execlvalue)){
$execlvalue= $execlvalue->__toString();
}
$data[$j][]=$execlvalue;
}
}
/****** 上面的代码可以不用看,下面的才是处理的重点 ******/
// 获取excel C2的文本
$execlvalue =$PHPExcel->getActiveSheet()->getCell('C2')->getValue();
// 开始格式化 重点在下面代码
if(is_object($execlvalue)){ $execlvalue= $execlvalue->__toString(); }
这样就可以获取数据了。