繁体   English   中英

如何在PHPExcel中读取合并的和具有背景颜色的单元格

[英]How read merged and cells with background color in PHPExcel

我有功能:

function funct($xls){
    include_once '../system/PHPExcel/Classes/PHPExcel/IOFactory.php';
    $objPHPExcel = PHPExcel_IOFactory::load($xls);
    $objPHPExcel->setActiveSheetIndex(9);

    $aSheet = $objPHPExcel->getActiveSheet();
     $array = array();

    foreach($aSheet->getRowIterator() as $row){

      $cellIterator = $row->getCellIterator();
    //this array will contain arrays with cells values
      $item = array();
 foreach($cellIterator as $key => $cell){
//skip adding tables which we don't need
if($key == "A" || $key == "E" || $key == "F" || $key == "G" || $key == 'H') continue;

        array_push($item, $cell->getCalculatedValue());
      }
      array_push($array, $item);
    }
    return $array;
  }

如何使用以下代码?

  $this->mergedCellsRange = $this->activeSheet->getMergeCells();
foreach($this->mergedCellsRange as $currMergedRange) {
if($cell->isInRange($currMergedRange)) {
    $currMergedCellsArray = PHPExcel_Cell::splitRange($currMergedRange);
        $cell = $this->activeSheet->getCell($currMergedCellsArray[0][0]);
        break;
    }
}

用于在我的代码中使用合并的单元格。 目前,我的函数仅为第一个单元格添加值,其他所有函数均为空。

谢谢。

找到了我的问题的答案:

function funct($xls){
    include_once '../system/PHPExcel/Classes/PHPExcel/IOFactory.php';
    $objPHPExcel = PHPExcel_IOFactory::load($xls);
    $objPHPExcel->setActiveSheetIndex(9);

    $aSheet = $objPHPExcel->getActiveSheet();
     $array = array();

    foreach($aSheet->getRowIterator() as $row){

      $cellIterator = $row->getCellIterator();
    //this array will contain arrays with cells values
      $item = array();
       foreach($cellIterator as $key => $cell){
//merged cells echo start
     foreach ($aSheet->getMergeCells() as $cells) {
if ($cell->isInRange($cells)) {
$currMergedCellsArray = PHPExcel_Cell::splitRange($cells);
$cell = $aSheet->getCell($currMergedCellsArray[0][0]);
echo $cells,'\n';
    echo '';
    break;
}
}
//merged cells echo end
//skip adding tables which we don't need
if($key == "A" || $key == "E" || $key == "F" || $key == "G" || $key == 'H') continue;

        array_push($item, $cell->getCalculatedValue());
      }
      array_push($array, $item);
    }
    return $array;
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM