-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExcelProtectionTests.cs
More file actions
69 lines (63 loc) · 1.88 KB
/
Copy pathExcelProtectionTests.cs
File metadata and controls
69 lines (63 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
[TestFixture]
public class ExcelProtectionTests
{
[Test]
public Task Protection()
{
using var document = CreateDocument();
return Verify(document);
}
static SpreadsheetDocument CreateDocument()
{
var document = SpreadsheetDocument.Create(new MemoryStream(), SpreadsheetDocumentType.Workbook);
var wbPart = document.AddWorkbookPart();
wbPart.Workbook = new(
new WorkbookProtection
{
WorkbookPassword = new("DAA7"),
LockStructure = true,
LockWindows = false
},
new Sheets());
var wsPart = wbPart.AddNewPart<WorksheetPart>();
var sheetData = new SheetData(
new Row(
new Cell
{
DataType = CellValues.InlineString,
InlineString = new(new Text("Header"))
})
{
RowIndex = 1u
});
var sheetProtection = new SheetProtection
{
Sheet = true,
Password = new("DAA7"),
Objects = true,
Scenarios = true,
FormatCells = true,
FormatColumns = true,
FormatRows = true,
InsertColumns = true,
InsertRows = true,
InsertHyperlinks = true,
DeleteColumns = true,
DeleteRows = true,
SelectLockedCells = false,
SelectUnlockedCells = false,
Sort = false,
AutoFilter = false,
PivotTables = true
};
wsPart.Worksheet = new(sheetData, sheetProtection);
var sheets = wbPart.Workbook.GetFirstChild<Sheets>()!;
sheets.Append(new Sheet
{
Id = wbPart.GetIdOfPart(wsPart),
SheetId = 1,
Name = "Sheet1"
});
return document;
}
}