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