【问题标题】:PHPExcel how to set collapse and expands for groups of row?PHPExcel如何为行组设置折叠和展开?
【发布时间】:2016-02-18 04:43:22
【问题描述】:

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

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

【问题讨论】:

    标签: php laravel laravel-5.1 phpexcel laravel-excel


    【解决方案1】:

    您可以通过为每一行设置一个大纲组来设置一个范围内的行(或列);并且您可以通过设置组级别参数来嵌套大纲组。

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

    【讨论】:

    • 那展开和折叠图标怎么样,我们可以定义我们的自定义图标吗?
    • 我不知道可以在 MS Excel 本身中更改图标(如果您知道可以更改,也许您可​​以指向一些解释如何进行的参考);它肯定不能在 PHPExcel 中更改
    • 谢谢马克。这个例子让我意识到你设置级别的顺序很重要。较小的级别应设置在较大的级别之前。否则折叠将不起作用。
    猜你喜欢
    • 2016-08-25
    • 2011-06-23
    • 1970-01-01
    • 2018-12-13
    • 2013-06-06
    • 1970-01-01
    • 2014-06-30
    • 2019-12-29
    • 1970-01-01
    相关资源
    最近更新 更多