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

PHPExcel how to set collapse and expands for groups of row?

假设我想将第 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);

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

这样的东西

您可以通过为每一行设置它来设置一系列行(或列)的大纲组;您可以通过设置组级别参数来嵌套大纲组。

// 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);
}