Ich brauche eine Lösung für den Upload Excel-Datei, wo in Spalte A Liste der Mail-Adressen, die überprüft werden müssen. Jetzt muss ich alle Google Mail-Adressen in Spalte A mit einer ganzen Zeile entfernen.PHPExcel- ganze Zeile entfernen
Ich habe etwas Code, aber es entfernt nicht alle Google Mail-Adresse in der Zeile, ich denke, dass Skript jede zweite Zeile entfernt, die Google Mail enthalten.
Kann jemand es überprüfen und mir helfen?
Hier ist mein Code:
// setup columns and rows for loop
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
//define $results from rows as array
$result = [];
//loop column A and get values from each row in Array $results
for($row = 1; $row <= $highestRow; ++$row) {
$result[] = $sheet->getCell('A' .$row)->getValue();
}
//remove gmail adresses in rows
foreach($result as $gmail){
if(preg_match('/gmail.com/', $gmail)) {
$objPHPExcel->getActiveSheet()->removeRow($row);
}
}
der Wert von '$ row' nie, nachdem Sie durch die Tabelle das erste Mal geschlungen haben verändert, so dass Sie immer das letzte Entfernen Zeile, unabhängig von die Zeile mit dem $ gmail-Wert –
Sie könnten Ihre erste Schleife mit der Methode 'rangeToArray()' eliminieren ... '$ result = $ sheet-> rangeToArray ('A1: A'. $ hoeheRow);' –
Sie wirklich müssen Zeilen in umgekehrter Reihenfolge überprüfen .... Wenn Sie Google Mail-Einträge in den Zeilen 1 und 3 zu entfernen, dann Zeile 1 zuerst entfernen wird Zeile 3 in Zeile 2, Zeile 4 zu Zeile 3, etc ... und dann entfernen Zeile 3 entfernt, was ursprünglich Zeile 4 war –