6

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

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

4

1 回答 1

10

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

// 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);
}
于 2016-02-18T11:49:24.327 回答