使用允许排序和允许自动筛选 C# 保护 Excel
Protect Excel With Allow Sort and Allow Auto Filter C#
我正在使用 EPPLUS.dll 来完成我的 excel 工作
我尝试使用 AllowSort 和 AllowAutoFilter 属性来保护工作表,但它不起作用。
worksheet.Protection.AllowSort = true;
worksheet.Protection.AllowAutoFilter = true;
worksheet.Protection.SetPassword("password");
worksheet.Protection.IsProtected = true;
我也试过下面的代码,但没有得到我想要的结果
worksheet.Column(1).Style.Locked = true;
默认情况下 Epplus 锁定单元格,锁定单元格无法解决我的问题;我唯一需要的是排序时 受保护或只读 单元格和 允许过滤
如有任何帮助,我们将不胜感激。
您是否尝试过将 worksheet.Protection.IsProtected = true;
移动到代码块中的第一条语句。也许这会覆盖您之前的陈述。
https://github.com/pruiz/EPPlus/blob/master/EPPlus/ExcelSheetProtection.cs
以下内容过去对我有用,因为它会保护工作表,即将其设为只读
worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();
worksheet.Protection.IsProtected = true;
worksheet.View.FreezePanes(2, 1); // freeze header row
worksheet.Protection.AllowSort = true;
worksheet.Cells[worksheet.Dimension.Address].AutoFilter = true;
worksheet.Protection.AllowAutoFilter = true;
我想用密码保护它,它必须针对包而不是工作表。
因此,如果保存包,请使用 .Save 重载。
package.Save("password");
或者,如果您要另存为 ByteArray,则
package.GetAsByteArray("password");
我找到的唯一方法是,在 Excel 锁定右键单击和复制粘贴选项的文档中使用 Visual Basic 代码。
不幸的是,在 excel 打开文档之前,它询问了一些关于危险脚本的信息,并提出禁用 运行 脚本。
我终于不可能了。
我正在使用 EPPLUS.dll 来完成我的 excel 工作 我尝试使用 AllowSort 和 AllowAutoFilter 属性来保护工作表,但它不起作用。
worksheet.Protection.AllowSort = true;
worksheet.Protection.AllowAutoFilter = true;
worksheet.Protection.SetPassword("password");
worksheet.Protection.IsProtected = true;
我也试过下面的代码,但没有得到我想要的结果
worksheet.Column(1).Style.Locked = true;
默认情况下 Epplus 锁定单元格,锁定单元格无法解决我的问题;我唯一需要的是排序时 受保护或只读 单元格和 允许过滤
如有任何帮助,我们将不胜感激。
您是否尝试过将 worksheet.Protection.IsProtected = true;
移动到代码块中的第一条语句。也许这会覆盖您之前的陈述。
https://github.com/pruiz/EPPlus/blob/master/EPPlus/ExcelSheetProtection.cs
以下内容过去对我有用,因为它会保护工作表,即将其设为只读
worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();
worksheet.Protection.IsProtected = true;
worksheet.View.FreezePanes(2, 1); // freeze header row
worksheet.Protection.AllowSort = true;
worksheet.Cells[worksheet.Dimension.Address].AutoFilter = true;
worksheet.Protection.AllowAutoFilter = true;
我想用密码保护它,它必须针对包而不是工作表。
因此,如果保存包,请使用 .Save 重载。
package.Save("password");
或者,如果您要另存为 ByteArray,则
package.GetAsByteArray("password");
我找到的唯一方法是,在 Excel 锁定右键单击和复制粘贴选项的文档中使用 Visual Basic 代码。 不幸的是,在 excel 打开文档之前,它询问了一些关于危险脚本的信息,并提出禁用 运行 脚本。 我终于不可能了。