[英]OpenXML - Protect all sheets
我只能保護一張工作表,但是當我嘗試保護 Excel 文檔中的所有工作表時,在嘗試附加 SheetProtection 時出現錯誤。
如果我理解正確,我必須在 SheetData 之后附加 SheetProtection。 這是我的代碼:
SheetProtectiond sheetProtection =
new SheetProtection
{
Sheet = true,
Objects = true,
Scenarios = true,
Password = GetSheetPassword(workbookPassword)
};
foreach(Sheet sheet in sheet)
{
WorksheetPart worksheetPart =
GetWorksheetPartBySheetID(m_SpreadsheetDocument.WorkbookPart, sheet.Id);
worksheetPart.Worksheet.InsertAfter(sheetProtection,
worksheetPart.Worksheet.Descendants<SheetData>().LastOrDefault());
}
通過為每張紙創建一個SheetProtection
實例解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.