Previous topicNext topic
Help > 开发指南 > Excel > API > 示例 > 保护 >
如何:保护工作表

可以通过锁定单元格来保护工作表,以便最终用户只能执行 WorksheetProtectionPermissions 枚举成员指定的一组特定 (受限) 操作。

默认情况下,工作表中的所有单元格都将 Protection.Locked 属性设置为 true。当保护应用于工作表时,这些单元格将变为只读。应用工作表保护时,将 Protection.Locked 属性设置为 false 的单元格不受保护,以便最终用户可以编辑或删除其内容。

若要应用工作表保护,请使用 Worksheet.Protect 方法,如下例所示。默认情况下,当您将 WorksheetProtectionPermissions.Default 参数传递给 Protect 方法时,受保护的工作表将被锁定,以便最终用户只能选择单元格。

Vb.Net
'创建一个Workbook工作簿对象.
Dim workbook As New DevExpress.Spreadsheet.Workbook()
Dim worksheet As DevExpress.Spreadsheet.Worksheet = workbook.Worksheets("ProtectionSample")
workbook.Worksheets.ActiveWorksheet = worksheet

' 保护工作表。防止最终用户更改工作表元素。
If Not worksheet.IsProtected Then
    worksheet.Protect("password", DevExpress.Spreadsheet.WorksheetProtectionPermissions.Default)
End If
'添加一个备注信息
worksheet("B2").Value = "Worksheet is protected with a password. " & ControlChars.Lf & " You cannot edit or format cells until protection is removed." & ControlChars.Lf & "To remove protection, on the Review tab, in the Changes group," & ControlChars.Lf & "click ""Unprotect Sheet"" and enter ""password""."
worksheet.Visible = True

C#
// 创建一个Workbook工作簿对象.
DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook();
DevExpress.Spreadsheet.Worksheet worksheet = workbook.Worksheets["ProtectionSample"];
workbook.Worksheets.ActiveWorksheet = worksheet;

// 保护工作表。防止最终用户更改工作表元素。
if (!worksheet.IsProtected)
    worksheet.Protect("password", DevExpress.Spreadsheet.WorksheetProtectionPermissions.Default);
// 添加一个备注信息
worksheet["B2"].Value = "Worksheet is protected with a password. \n You cannot edit or format cells until protection is removed.\n To remove protection, on the Review tab, in the Changes group,\n click \"Unprotect Sheet\" and enter \"password\".";
worksheet.Visible = true;


取消保护工作表

若要删除保护,请使用 Worksheet.Unprotect 方法。

Vb.Net
'创建一个Workbook工作簿对象.
Dim workbook As New DevExpress.Spreadsheet.Workbook()
Dim worksheet As DevExpress.Spreadsheet.Worksheet = workbook.Worksheets("ProtectionSample")
workbook.Worksheets.ActiveWorksheet = worksheet

' 使用密码删除工作表保护。
If worksheet.IsProtected Then
    worksheet.Unprotect("password")
End If
'添加备注信息
worksheet("B2").Value = "Worksheet is unprotected. You can edit and format cells."
worksheet.Visible = True

C#
// 创建一个Workbook工作簿对象.
DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook();
DevExpress.Spreadsheet.Worksheet worksheet = workbook.Worksheets["ProtectionSample"];
workbook.Worksheets.ActiveWorksheet = worksheet;

// 使用密码删除工作表保护。
if (worksheet.IsProtected)
    worksheet.Unprotect("password");
// 添加备注信息
worksheet["B2"].Value = "Worksheet is unprotected. You can edit and format cells.";
worksheet.Visible = true;