首页 >后端开发 >php教程 >PHP读取excel中合并的单元格的值

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

WBOY
WBOY原创
2016-06-23 14:27:551959浏览

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