2
하나의 시트 만 보호 할 수 있지만 Excel 문서의 모든 시트를 보호하려고 할 때 SheetProtection을 추가하는 동안 오류가 발생합니다.OpenXML - 모든 시트 보호
제대로 이해했다면 SheetData 다음에 SheetProtection을 추가해야합니다. 각 시트에 대한 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());
}
질문 자체를 변경하는 대신 질문에 대한 대답을 만드는 것이 좋습니다. – Flowerking