簡體   English   中英

OpenXML - 保護所有工作表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM