Используя PHPExcel, вы можете использовать методы:
- setOutlineLevel ($ level) // уровень текущей строки
- setVisible (false) // показать или скрыть группу
- setCollapsed (true) // добавить коллапс в группу (как показано на рисунке выше)
Здесь необходимо определить условие группы, например:
Мы предполагаем, что файл Excel уже создан с помощью PHPExcel и
теперь вы собираетесь снова прочитать файл для группировки строк.
Сначала давайте прочитаем столбец C, содержащий имя продавца, и сохраним их внутри $ salemans :
$salesmans = array();
/*
the output of $salesmans seems to be something like :
[0] ==> "Abdul Karim",
[1] ==> "Apan Total",
[2] ==> ""Ari Total
*/
Массив $ salesman должен иметь различное значение, поэтому при попытке
вставить внутри массива проверить, если текущее значение не существует
уже в $ продавцы.
Пример:
$salesmans=array();
if (!in_array($currentSalesman, $salesmans))
{
$array[] = $value;
}
Здесь мы собираемся установить уровень каждой строки, получая значение текущего продавца с помощью ключа в $ salesmans
Внимание: пожалуйста, попробуйте изменить этот раздел, потому что я не получаю
как вы управляете извлечением строк. Я просто делаю код более понятным для понимания
for ($row = 0; $row <= 10000; ++$row) {
$currentsalesman = $row['c']; //
$keylevel = array_search($currentsalesman, $salesmans);// this will return the key in $salesmans array
$objPHPExcel->getActiveSheet()
->getRowDimension($row)
->setOutlineLevel($keylevel) // set here the level .
->setVisible(false)
->setCollapsed(true);
}