PHPExcel如何为行组设置折叠和扩展?

jon*_*nes 5 php phpexcel laravel laravel-excel laravel-5.1

假设我想将第2行的折叠和展开设置为最多4个作为一个组,将8个最多设置为12个第二个组.这意味着当用户想要单击+组1的展开图标时,应该可以看到从2到4的行,对于组2,应该可以看到从8到12的行.贝娄是单排的代码.

$sheet->getRowDimension(1)->setOutlineLevel(1);

$sheet->getRowDimension(1)->setVisible(false);

$sheet->getRowDimension(1)->setCollapsed(true);
Run Code Online (Sandbox Code Playgroud)

另一个问题是,我们可以自己定义扩展图标而不是+图标吗?就像是这个

Mar*_*ker 9

您可以通过为每行设置一个行(或列)来设置轮廓组; 您可以通过设置组级别参数来嵌套大纲组.

// 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);
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢马克。这个例子让我意识到设置级别的顺序很重要。较小的级别应先于较大的级别设置。否则折叠不起作用。 (2认同)