2

我想找到一种方法让用户查看最大 1000 行和特定列限制的 Excel 表。此链接显示了我需要(以及为什么)的类似示例。

我开发了一个包含 1000 行数据验证列表(每个单元格一个)的模板,我不想让用户在结束我设置的 1000 个数据验证列表后尝试手动输入数据。这样,如果 PHPExcel 可以设置一系列可编辑(或可见)的行和列,那就太好了。我试图在文档中搜索,但我找不到它的东西(也许我做了不好的研究)

4

1 回答 1

1

由于尚无法为行/列设置可见性限制,因此我的解决方案是:

首先我为工作表设置了保护,然后我删除了我想让用户能够编辑的单元格的保护:

    $latestTemplateColumn = $objPHPExcel->getActiveSheet()->getHighestDataColumn();
    $latestTemplateColumn++;
    $objPHPExcel->getActiveSheet()->getProtection()->setSheet(true);
    $column = 'A';
    for ($row = 3; $row <= $maxRows; $row++) {
        for ($column = 'A'; $column != $latestTemplateColumn; $column++) {
            $cell = $objPHPExcel->getActiveSheet()->getCell($column.$row);
            $objPHPExcel->getActiveSheet()->getStyle($column.$row)->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
        }
    }

此代码从第 3 行开始,直到我设置的 $maxRow,并且直到最后一列有数据。这样用户只能在我设置的范围内输入数据。

于 2012-08-23T13:53:28.653 回答