我的文件类似this
我想在此示例中仅加载两个可见行。 我不知道怎么做。
$reader = new PHPExcel_Reader_Excel2007();
$excel = $reader->load($_FILES['plik']['tmp_name']);
$data = $excel->getActiveSheet()->toArray(null, true,true,true);
在PHPExcel中加载文件时,显示所有8769行。
我必须这样做,因为过滤后的数据总是不同的。
你知道怎么办?
答案 0 :(得分:1)
如果你只想要可见的行,那么你需要编写一些代码来循环遍历行,只选择那些可见的行
类似的东西:
$reader = new PHPExcel_Reader_Excel2007();
$excel = $reader->load($_FILES['plik']['tmp_name']);
$highestColumn = $excel->getActiveSheet()->getHighestColumn();
$data = [];
foreach ($excel->getActiveSheet()->getRowIterator() as $row) {
if ($excel->getActiveSheet()->getRowDimension($row->getIndex())->getVisible()) {
$data[] = $excel->getActiveSheet()
->rangeToArray('A' .$row->getIndex().':'.$highestColumn.$row->getIndex());
}
}
答案 1 :(得分:1)
非常感谢!
很快将“getIndex()”交换为“getRowIndex()”
$reader = new PHPExcel_Reader_Excel2007();
$excel = $reader->load($_FILES['plik']['tmp_name']);
$data = [];
foreach ($excel->getActiveSheet()->getRowIterator() as $row) {
if ($excel->getActiveSheet()->getRowDimension($row->getRowIndex())->getVisible()) {
$data[] = $excel->getActiveSheet()->rangeToArray('A' .$row->getRowIndex().':'.'BB'.$row->getRowIndex());
}
}