アップロードするExcelファイルの解決策が必要です。ここには、チェックが必要なメールアドレスのリストがあります。 今度は列AのすべてのGmailアドレスを行全体で削除する必要があります。PHPExcel-行全体を削除
私はいくつかのコードを作ったが、行のすべてのGmailアドレスを削除するわけではないが、Gmailを含む2行目ごとにスクリプトを削除すると思う。
誰かがそれを確認して助けてくれますか?ここで
は私のコードです:で開始する
// 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);
}
}
「$ row」の値は、初めてスプレッドシートをループした後も変更されないので、常に最後の行を削除していますに関係なく、行$ gmailの値を含む行 –
'rangeToArray()'メソッドを使用して最初のループを削除することができます... $ result = $ sheet-> rangeToArray( 'A1:A'。$ highestRow); ' –
本当に逆順で行をチェックする必要があります。行1と行3で削除するgmailエントリがある場合、最初に行1を削除すると行3が行2になり、行4が行3になります。 3行目を削除すると元の行が削除されます4 –