【问题标题】:Remove empty rows in PHPexcel删除 PHPexcel 中的空行
【发布时间】:2018-01-15 18:10:32
【问题描述】:

我有以下代码。

$sheet = $objPHPExcel->getSheet(0); 
$highestRow = $sheet->getHighestDataRow(); 
$highestColumn = $sheet->getHighestDataColumn();
for ($row = 2; $row <= $highestRow; $row++){ 
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . 
       $row,NULL,TRUE,FALSE);

}

如果所有列都是空的,我需要忽略行。我已经看到链接ignore empty columns,但我不确定这是否适合我。如果它是空的,我不需要消除列,但如果所有列都是空的,我需要消除整行。

【问题讨论】:

    标签: php phpexcel


    【解决方案1】:

    您需要迭代该行并检查所有单元格是否为空。

    示例代码

    $sheet = $objPHPExcel->getSheet(0); 
    $highestRow = $sheet->getHighestDataRow(); 
    $highestColumn = $sheet->getHighestDataColumn();
    for ($row = 2; $row <= $highestRow; $row++){ 
        $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,NULL,TRUE,FALSE);
        if(isEmptyRow(reset($rowData))) { continue; } // skip empty row
        // do something usefull
    }
    
    function isEmptyRow($row) {
        foreach($row as $cell){
            if (null !== $cell) return false;
        }
        return true;
    }
    

    【讨论】:

      【解决方案2】:

      这是我使用的代码,其中代码 sn -p 获取插入数据的唯一区域

      谢谢,

      $inputfiletype = PHPExcel_IOFactory::identify($inputFileName);
      $objReader = PHPExcel_IOFactory::createReader($inputfiletype);
      $objReader->setReadDataOnly(true);//Get the area of data inserted
      $objPHPExcel = $objReader->load($inputFileName);
      
      
      
      
      $sheet = $objPHPExcel->getSheet(0); 
      $highestRow = $sheet->getHighestDataRow(); 
      $highestColumn = $sheet->getHighestColumn();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-21
        • 1970-01-01
        • 1970-01-01
        • 2011-04-21
        • 1970-01-01
        相关资源
        最近更新 更多