OpenXML - 保护所有工作表

时间:2012-03-29 09:37:54

标签: c# asp.net openxml-sdk

我只能保护一张纸,但是当我尝试保护Excel文档中的所有纸张时,我在尝试附加SheetProtection时出错。

如果我理解正确,我必须在SheetData之后附加SheetProtection。 这是我的代码:

SheetProtectiond  wSheetProtection = new SheetProtection
                           {
                              Sheet = true,
                              Objects = true,
                              Scenarios = true,
                              Password = GetSheetPassword( wWorkbookPassword )
                           };

foreach( Sheet sheet in wSheet )
{
     WorksheetPart worksheetPart = GetWorkSheetPartBySheetID(m_SpreadsheetDocument.WorkbookPart, sheet.Id );
     worksheetPart.Worksheet.InsertAfter( wSheetProtection, worksheetPart.Worksheet.Descendants<SheetData>( ).LastOrDefault( ) );                      
}

1 个答案:

答案 0 :(得分:0)

通过为每张纸创建SheetProtection的实例来解决此问题。