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

标签 php laravel laravel-5.1 phpexcel laravel-excel

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

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

最佳答案

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

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

关于PHPExcel如何为行组设置折叠和展开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35473034/

相关文章:

php - Composer : What's The Difference Between Require and Autoloader?

php - 在 Laravel 4 中缓存 View 输出

php - 如果不在 url 上添加 index.php,laravel 5.2 项目将无法运行

php - 如何在此数据库模式中创建 hasManyTrough Eloquent 关系?

php - Laravel 5.1 - 查看 Controller 的变量(特别是当前 Controller 名称)

php - 拉维尔 5.1 : migrate command doesn't work 'unknown database'

php - 如何比较数据库中的两个数组并获得差异

php搜索数据库行

php - Laravel Eloquent::Find() 使用现有 ID 返回 NULL

php - 获取创建日期早于 14 天的行