目前,我正在使用Open XML的SpreadsheetDocument
类通过传递MemoryStream
参数创建一个新的Excel文档。现在我需要在这个SpreadsheetDocument
对象上设置密码,但是我的尝试似乎没有起作用。Excel文档打开时不会要求输入密码。
以下是我目前尝试过的代码(mem
是MemoryStream
参数):
using (SpreadsheetDocument spreadsheet = SpreadsheetDocument.Open(mem, true))
{
foreach (var sheet in spreadsheet.WorkbookPart.WorksheetParts)
{
sheet.Worksheet.Append(new SheetProtection() { Password = "test" });
}
}
我尝试了以下方法,但都没有成功:
using (SpreadsheetDocument spreadsheet = SpreadsheetDocument.Open(mem, true))
{
spreadsheet.WorkbookPart.Workbook.WorkbookProtection = new WorkbookProtection
{
LockStructure = true,
LockWindows = true,
WorkbookPassword = "test"
}
}
请问我错过了什么?
Save()
方法?// add this in case it still doesn’t work. This makes sure the data is saved. //worksheet.Worksheet.Save();
你试过了吗?这也没帮助吗? - Michael