2

OpenXML を使用してレポートを生成し、それを Excel にエクスポートしています。特定のセルを除いてExcelシートを保護したい。

誰かが以前にこれに取り組んだことがある場合は、親切に助けてください

ありがとう、アモリク

4

2 に答える 2

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

于 2014-10-08T10:54:55.213 に答える
-1

OpenXML Productivity Toolkitを使用してみましたか?

私が見ることができるものから、あなたは追加する必要があります

new CellFormat

属性付き

ApplyProtection = true

CellFormats

追加

new Protection

属性付き

Locked = false

CellFormatあなたが作成したに。

CellFormatの要素でCellFormatsある要素ですStylesheet

次に、Worksheetあなたに追加します

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

私はこれを試したことがありませんが、ProductivityToolkitで何をする必要があるかを見つけるのは簡単なはずです。これがあなたとこれを正しい方向に行おうとしている人を指し示してくれることを願っています。

于 2011-04-07T08:32:11.733 に答える