需要使用PHPexcel提取行

时间:2015-05-11 08:54:56

标签: php phpexcel

嗨我想在新的工作表中提取整行,当第四列的值为“30300”时,在.xlsx中提取一个新文件,但我不知道我该怎么做?

我被困了因为我不知道我怎么能提取线条,我在For Each中尝试了一些IF,但我得到了一些错误

<?php
require_once 'C:/wamp/www/Stage/Classes/PHPExcel/IOFactory.php';


$objPHPExcel = PHPExcel_IOFactory::load("HES.xlsx");
$sheet = $objPHPExcel->getSheet(0);

echo '<table border="1">';

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

    echo '<tr>';

    foreach ($row->getCellIterator() as $cell) {
        echo '<td>';
        if ($cell->getvalue() == 'MT201501')
        {
           $cell->setvalue('NewNum');
        }

        if ($cell->getvalue() == 'Haute école de santé')
        {
           $cell->setvalue('HETS');
        }


        print_r($cell->getValue());
        echo '</td>';
    }

    echo '</tr>';
}

echo '</table>';

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save('C:/wamp/www/Stage/Try/test5.xlsx');

?>

我试过这个删除第4列中包含“30300”的行但是并没有删除所有行,我不知道为什么不删除所有行

    for($row=1; $row < $highestRow; ++$row){
    $value = $objPHPExcel->getActiveSheet()->getCell('D'.$row)->getValue();
 if (substr($value,0,7) == "303000") {
      $objPHPExcel->getActiveSheet()->removeRow($row);
      }
}

1 个答案:

答案 0 :(得分:0)

尝试输入从工作表

获取的值
for($row=1; $row < $highestRow; ++$row){
    $value = (string)$objPHPExcel->getActiveSheet()->getCell('D'.$row)->getValue();
 if (substr($value,0,7) == "303000") {
      $objPHPExcel->getActiveSheet()->removeRow($row);
      }
}