受保护的工作表是否可以进行排序?
尝试允许用户编辑范围,但范围内的单元格也是可编辑的,这是不期望的。
由于
答案 0 :(得分:0)
请先取消保护工作表,然后才能进行排序。这也是Microsoft Excel的行为。请参阅此屏幕截图中的Microsoft Excel警告消息以供参考。
注意: 我在Aspose担任开发人员传播者
答案 1 :(得分:0)
我试过了,我主要在Filter中进行排序。但也允许排序按钮。 首先设置Filter on(可能是可选的)。然后你需要使用"允许用户编辑范围"然后使用过滤器保护工作表(可能是可选的)并启用排序。
以下是在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);