2010-07-08 1 views

답변

-1

당신이 OpenXML과 생산성 Toolkit을 사용하여 시도? 나는 당신이 속성

new CellFormat 

ApplyProtection = true 

APPEND

CellFormats 

new Protection 
를 추가해야 볼 수있는 것과

사용자가 만든하여 CellFormat에 속성

Locked = false 

.

CellFormat

은 내가이 시도 havent 한

new SheetProtection(){ Password = "CC1A", Sheet = true, Objects = true, Scenarios = true }; 

을 추가 Worksheet에 다음 Stylesheet

의 요소가 CellFormats의 요소이지만, 당신이 무엇을 발견 한 정도로 쉬워야한다 Productivity Toolkit과 관련이 있어야합니다. 나는 이것이 당신과 올바른 방향으로 이것을하려는 사람들을 가리 키 길 바랍니다.

1
  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); 

심판 : http://social.msdn.microsoft.com/Forums/en-US/a6f7502d-3867-4d5b-83a9-b4e0e211068f/how-to-lock-specific-columns-in-xml-workbook-while-exporting-dataset-to-excel?forum=oxmlsdk

+0

좋은 슬픔, 실제로 작동 많은 OPENXML 팁과는 달리, 감사합니다! 코드를 명확하게하기 위해 pRange.Name을 "편집 허용"으로 변경해야한다고 생각합니다. – Jon

관련 문제