如何允许用户使用EPPlus和c#在受保护的Excel中编辑范围
本文关键字:受保护 Excel 范围 编辑 用户 何允许 EPPlus | 更新日期: 2023-09-27 17:58:36
我正在winform(C#)项目中使用EPPlus导出受保护的excel工作表。现在,我希望功能允许用户使用相同的插件编辑受保护的excel表中的范围。如果您提供代码片段,那就太好了。提前谢谢。
var fileName = "sample.xlsx";
var fileInfo = new FileInfo(fileName);
using (var excel = new ExcelPackage(fileInfo))
{
var ws = excel.Workbook.Worksheets.Add("sheet1");
ws.Protection.IsProtected = true;
ws.ProtectedRanges.Add("editable", new ExcelAddress("C:N"));
excel.Save();
}
我知道现在回复已经很晚了,但可能会帮助其他人。我也遇到了类似的问题,很难在受保护的工作表中进行排序和自动筛选。
在保护工作表之后,我在下面添加了两个允许排序和自动筛选的设置。
ws.Protection.IsProtected = True
ws.Protection.AllowSort = True
ws.Protection.AllowAutoFilter = True
然而,在我的情况下,下一个要求是解锁一些列以允许编辑,我使用实现了这一点
ws.Column(12).Style.Locked = False
然而,如果你有一个范围,你可以尝试这样的东西:
For Each cell In ws.Cells("B1:C8")
cell.Style.Locked = False
Next