在受保护的工作表中Aspose excel排序

时间:2018-03-02 04:27:21

标签: .net aspose-cells

受保护的工作表是否可以进行排序?

尝试允许用户编辑范围,但范围内的单元格也是可编辑的,这是不期望的。

由于

2 个答案:

答案 0 :(得分:0)

请先取消保护工作表,然后才能进行排序。这也是Microsoft Excel的行为。请参阅此屏幕截图中的Microsoft Excel警告消息以供参考。

<强>截图: enter image description here

注意: 我在Aspose担任开发人员传播者

答案 1 :(得分:0)

我试过了,我主要在Filter中进行排序。但也允许排序按钮。 首先设置Filter on(可能是可选的)。然后你需要使用&#34;允许用户编辑范围&#34;然后使用过滤器保护工作表(可能是可选的)并启用排序。

以下是在Excel中执行此操作的步骤: https://www.extendoffice.com/documents/excel/4673-excel-sort-filter-protected-sheet.html 或解决方案1:http://blog.softartisans.com/2013/10/01/kb-sorting-locked-cells-in-protected-worksheets/

sort in filter on protected sheet

sort using sort button on protected sheet

以下是我在Aspose.Cells for Java中的示例(在.net中应该类似):

    Cells cells = sheet.getCells();
    int maxCol = cells.getMaxDataColumn();
    int maxRow = cells.getMaxDataRow();
    sheet.getAutoFilter().setRange(0, 0, maxCol);
    sheet.getAllowEditRanges().add("allowSortFilter", 0, 0, maxRow, maxCol);
    Protection protection = sheet.getProtection();
    protection.setAllowSelectingLockedCell(false);
    protection.setAllowSelectingUnlockedCell(true);
    protection.setAllowFiltering(true);
    protection.setAllowSorting(true);
    protection.setAllowEditingContent(false);
    protection.setAllowEditingObject(false);
    protection.setAllowEditingScenario(false);
    protection.setPassword("password");
    }
    OoxmlSaveOptions opts = new OoxmlSaveOptions(SaveFormat.XLSX);