>  기사  >  백엔드 개발  >  PHP读取excel中合并的单元格的值

PHP读取excel中合并的单元格的值

WBOY
WBOY원래의
2016-06-23 14:27:551945검색

RT
在做的一个东西,需要读取excel中个别列的内容,之前用的php excelreader,但是合并的单元格都是空的值,而且我的excel也不好判断只要是空的就用数组中上个的值这种方法,本身excel也比较复杂不太好做修改,请问还有别的类或者方法可以解决这问题吗?


回复讨论(解决方案)

试试这个  http://www.oschina.net/code/snippet_76782_1264

那个貌似我看了,它对单元格合并的操作时在写入的时候,貌似后面那个赋值是给合并后的单元格写值呢吧,虽然没有直接解决问题,不过我想要是能写入,肯定相应的应该会能读把,我在看看有没有能判断是合并了的单元格之类的,先谢谢了……

没法直接读呀……
最后只能用vba写的宏把合并的单元格都分开,并且把值都还原,然后在用php读呀……

想到一种方法:可以判断当前的单元格的值进行处理就行!
查找的空值的单元格如果是合并的单元格的话,值就是上列或几列的值。例如:
for ($i = 1; $i sheets[0]['numRows']; $i++) {
   for ($j = 1; $j sheets[0]['numCols']; $j++) {
      if(trim($data->sheets[0]['cells'][$i][$j]) ==""){//是值为空的合并单元格,更具需要判断
 for($k=$i-1;$k>=0;$k--){
    if(trim($data->sheets[0]['cells'][$k][$j])!=""){
 $data->sheets[0]['cells'][$i][$j] = $data->sheets[0]['cells'][$k][$j];
 break;
}
            }
            //这里可以进一步处理!
          }
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
    echo "
";
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.