2015-05-11 4 views
0

Привет, я хотел бы извлечь целые строки в новом листе, новый файл в .xlsx, когда значение 4-го столбца «30300», но я не знаю, как я мог это сделать ?Нужно извлекать строки с PHPexcel

Я stucked, потому что я не знаю, как я мог бы извлечь строки, я попробовал некоторые, если в For Each, но я получил несколько ошибок

<?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'); 

?> 

Я попытался это, чтобы удалить строку, содержащую " 30300" в 4-м столбцах, но не все строки были удалены, я не знаю, почему не все строки будут удалены

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

Я пробовал несколько IF, но это не сработало, потому что я не знаю, как извлечь тезисы строк в новый файл. – Vodkaloveez

+0

Так вы пытаетесь создать новый файл xls только с теми строками из «HES.xlsx», которые соответствуют вашим Значение «30300»? Или просто переместить их на новый рабочий лист в том же файле? –

ответ

0

тип Try литья значение извлекается из листа

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

Привет, я пробовал, но текущая проблема: у меня есть 10-12 значения для «303000», и эта функция удаляет только 8-10 значений, я пробовал для всех значений, и это удаляет только несколько строк не всех строк. Большое спасибо за ответ и за вашу помощь. – Vodkaloveez

+0

Приветственный друг :). Память может быть одной из проблем, пожалуйста, сделайте чек. –

Смежные вопросы