Heim  >  Artikel  >  Backend-Entwicklung  >  PHP读取excel中合并的单元格的值

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

WBOY
WBOYOriginal
2016-06-23 14:27:551943Durchsuche

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 "
";
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn