Suppose I want to set collapse and expand for row 2 up to 4 as one group, and 8 up to 12 the second group. It means when user want to click on expand +
icon of group 1, rows from 2 up to 4 should be visible, and for group 2 row from 8 up to 12 should be visible. Bellow is the code for single row.
$sheet->getRowDimension(1)->setOutlineLevel(1);
$sheet->getRowDimension(1)->setVisible(false);
$sheet->getRowDimension(1)->setCollapsed(true);
And the other question is, can we define the expand icon ourself instead of +
icon?
some thing like
You can set an outline group over a range of rows (or columns) by setting it for each row; and you can nest outline groups by setting the group level argument.
// Set outline levels
for ($row = 2; $row <= 10; ++$row) {
$objPHPExcel->getActiveSheet()
->getRowDimension($row)
->setOutlineLevel(1)
->setVisible(false)
->setCollapsed(true);
}
for ($row = 4; $row <= 9; ++$row) {
$objPHPExcel->getActiveSheet()
->getRowDimension($row)
->setOutlineLevel(2)
->setVisible(false)
->setCollapsed(true);
}
for ($row = 6; $row <= 8; ++$row) {
$objPHPExcel->getActiveSheet()
->getRowDimension($row)
->setOutlineLevel(3)
->setVisible(false)
->setCollapsed(true);
}