OpenXML을 사용하여 보고서를 생성하고 Excel로 내보내보고 있습니다. 나는 특정 세포를 제외하고 엑셀 시트를 보호하고 싶다.Open XML 2.0을 사용하는 특정 셀을 제외하고 Excel 시트를 어떻게 보호 할 수 있습니까?
사람이 전에이에 종사 한 경우, 친절
감사합니다 도움이 Amolik
OpenXML을 사용하여 보고서를 생성하고 Excel로 내보내보고 있습니다. 나는 특정 세포를 제외하고 엑셀 시트를 보호하고 싶다.Open XML 2.0을 사용하는 특정 셀을 제외하고 Excel 시트를 어떻게 보호 할 수 있습니까?
사람이 전에이에 종사 한 경우, 친절
감사합니다 도움이 Amolik
당신이 OpenXML과 생산성 Toolkit을 사용하여 시도? 나는 당신이 속성
new CellFormat
ApplyProtection = true
APPEND
CellFormats
에
new Protection
를 추가해야 볼 수있는 것과
사용자가 만든하여 CellFormat
에 속성
Locked = false
와
.
CellFormat
new SheetProtection(){ Password = "CC1A", Sheet = true, Objects = true, Scenarios = true };
을 추가 Worksheet
에 다음 Stylesheet
의 요소가 CellFormats
의 요소이지만, 당신이 무엇을 발견 한 정도로 쉬워야한다 Productivity Toolkit과 관련이 있어야합니다. 나는 이것이 당신과 올바른 방향으로 이것을하려는 사람들을 가리 키 길 바랍니다.
PageMargins pageM = worksheetPart.Worksheet.GetFirstChild<PageMargins>();
SheetProtection sheetProtection = new SheetProtection();
sheetProtection.Password = "CC";
sheetProtection.Sheet = true;
sheetProtection.Objects = true;
sheetProtection.Scenarios = true;
ProtectedRanges pRanges = new ProtectedRanges();
ProtectedRange pRange = new ProtectedRange();
ListValue<StringValue> lValue = new ListValue<StringValue>();
lValue.InnerText = "A1:E1"; //set cell which you want to make it editable
pRange.SequenceOfReferences = lValue;
pRange.Name = "not allow editing";
pRanges.Append(pRange);
worksheetPart.Worksheet.InsertBefore(sheetProtection, pageM);
worksheetPart.Worksheet.InsertBefore(pRanges, pageM);
좋은 슬픔, 실제로 작동 많은 OPENXML 팁과는 달리, 감사합니다! 코드를 명확하게하기 위해 pRange.Name을 "편집 허용"으로 변경해야한다고 생각합니다. – Jon