密码保护生成的Excel工作表

我的代码生成一个OpenXML电子表格,我想防止修改和删除操作。 我的解决scheme似乎工作,但我发现,在Excel中打开它,在“审查”面板中,我可以推动“解除保护”button,和Excel取消保护选定的工作表,而不要求任何密码。 我怎样才能避免这一点?

String password = Guid.NewGuid().ToString().Replace("-", string.Empty).Substring(0, 16); using (SpreadsheetDocument excelDoc = SpreadsheetDocument.Open(input, true)) { foreach (WorksheetPart worksheetPart in excelDoc.WorkbookPart.WorksheetParts) { SheetProtection sp = new SheetProtection() { Sheet = true, SelectLockedCells = false, SelectUnlockedCells = false, Password = password, Objects = true, Scenarios = true, // AlgorithmName = "SHA-256" }; foreach (OpenXmlElement currentChildElement in worksheetPart.Worksheet.ChildElements) { if (currentChildElement is SheetData) { worksheetPart.Worksheet.InsertAfter(sp, currentChildElement); worksheetPart.Worksheet.Save(); } } }