删除行 phpexcel
Delete row phpexcel
我想加载我的 file.xls 并检查我的元素是否包含字符 ^
;那么,我想删除它。
这里是我的代码:
$objPHPExcel = PHPExcel_IOFactory::load("trainbayes.xlsx");
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet){
$column = 'C';
$lastRow = $worksheet->getHighestRow();
for ($row = 2; $row <= $lastRow; $row++) {
$cell = $worksheet->getCell($column.$row);
if (preg_match("/([\^])/",$cell)){
$objPHPExcel->getActiveSheet()->removeRow($row,$row);
}
}
}
但是没有用。你能帮助我吗?谢谢:)
$cell = $worksheet->getCell($column.$row);
Returns一个Cellobject并赋值给$cell
;然后,您将该单元格对象视为 preg_match()
调用中的字符串。
您当然应该检查单元格
的值
$cell = $worksheet->getCell($column.$row)->getValue();
此外,
$objPHPExcel->getActiveSheet()->removeRow($row,$row);
你真的想通过 $row
两次吗?第二个参数是要删除的行数,第一个参数是开始删除的行号,所以如果你传递 $row
是 5
,那么 PHPExcel 将删除 5 行,从第 5 行开始。
你当然是说
$objPHPExcel->getActiveSheet()->removeRow($row, 1);
或者干脆
$objPHPExcel->getActiveSheet()->removeRow($row);
我想加载我的 file.xls 并检查我的元素是否包含字符 ^
;那么,我想删除它。
这里是我的代码:
$objPHPExcel = PHPExcel_IOFactory::load("trainbayes.xlsx");
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet){
$column = 'C';
$lastRow = $worksheet->getHighestRow();
for ($row = 2; $row <= $lastRow; $row++) {
$cell = $worksheet->getCell($column.$row);
if (preg_match("/([\^])/",$cell)){
$objPHPExcel->getActiveSheet()->removeRow($row,$row);
}
}
}
但是没有用。你能帮助我吗?谢谢:)
$cell = $worksheet->getCell($column.$row);
Returns一个Cellobject并赋值给$cell
;然后,您将该单元格对象视为 preg_match()
调用中的字符串。
您当然应该检查单元格
的值$cell = $worksheet->getCell($column.$row)->getValue();
此外,
$objPHPExcel->getActiveSheet()->removeRow($row,$row);
你真的想通过 $row
两次吗?第二个参数是要删除的行数,第一个参数是开始删除的行号,所以如果你传递 $row
是 5
,那么 PHPExcel 将删除 5 行,从第 5 行开始。
你当然是说
$objPHPExcel->getActiveSheet()->removeRow($row, 1);
或者干脆
$objPHPExcel->getActiveSheet()->removeRow($row);