如何允许用户使用EPPlus和c#在受保护的Excel中编辑范围

本文关键字:受保护 Excel 范围 编辑 用户 何允许 EPPlus | 更新日期: 2023-09-27 17:58:36

我正在winform(C#)项目中使用EPPlus导出受保护的excel工作表。现在,我希望功能允许用户使用相同的插件编辑受保护的excel表中的范围。如果您提供代码片段,那就太好了。提前谢谢。

如何允许用户使用EPPlus和c#在受保护的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