700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php excel获取合并单元格的内容 并自动向上获取第一个有值的单元格数据

php excel获取合并单元格的内容 并自动向上获取第一个有值的单元格数据

时间:2018-12-01 10:14:12

相关推荐

php excel获取合并单元格的内容 并自动向上获取第一个有值的单元格数据

获取合并单元格的数据

Yii::$enableIncludePath=false;

Yii::import('application.extensions.PHPExcel.PHPExcel',1);

if(!empty($_FILES['file']['tmp_name']))

{

$file=CUploadedFile::getInstanceByName('file');//获取上传的文件实例

if($file->error > 0)

{

echo '<h2>上传文件出错,请重试</h2><a href="">点击返回</a>';

Jii::app()->end();

}

if(!in_array($file->getExtensionName(),array('xls'))){

echo '<h2>只能上传xls文件</h2><a href="">点击返回</a>';

Jii::app()->end();

}

$size = 1024 * 1024 * Helper::p('upload_size', 5);

if($file->size > $size)

{

echo '<h2>上传文件大小不能超过5M</h2><a href="">点击返回</a>';

Jii::app()->end();

}

if(in_array($file->getExtensionName(),array('xls'))){

$excelFile=$file->getTempName();//获取文件名

//这里就是导入PHPExcel包了,要用的时候就加上如下这么两句

Yii::$enableIncludePath=false;

Yii::import('application.extensions.PHPExcel.PHPExcel',1);

$phpexcel=new PHPExcel;

$excelReader=PHPExcel_IOFactory::createReader('Excel5');

$phpexcel=$excelReader->load($excelFile)->getSheet(0);//载入文件并获取第一个sheet

Yii::$enableIncludePath=true;//及时的还原yii的自动加载模式

$total_line=$phpexcel->getHighestRow();//总行数

$total_column=$phpexcel->getHighestColumn();//总列数

//var_dump($this->get_pos($phpexcel->getMergeCells()));die;

//$phpexcel->unmergeCells('A5:A6');

$rowArray=[];

$participantArr = [];

if($total_line>1){

for($row=5;$row<=$total_line;$row++){

$line=array();

$lineNoMerges = [];

$accountId = '';

for($column='A';$column<=$total_column;$column++){

$lineNoMerges[]=trim($phpexcel->getCell($column.$row)->getValue());

$lined = trim($phpexcel->getCell($column.$row)->getValue());

if(trim($phpexcel->getCell($column.$row)->getValue()) ==""){ //是值为空的合并单元格,更具需要判断,获取第一个有值的数据

for($k=$row-1;$k>=0;$k--){

if(trim($phpexcel->getCell($column.$k)->getValue()) != ""){

if($k==3 || $k==4){

$lined='';

break;

}else{

$lined=$phpexcel->getCell($column.$k)->getValue();

break;

}

}

}

}

$line[]=$lined;

}

$rowArray[]=$line; //自动补全的值

}

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。