目前,我正在通过传递MemoryStream
参数来创建一个Open XML的SpreadsheetDocument
类的新Excel文档。我现在需要在这个SpreadsheetDocument
对象上设置一个密码,但我所尝试的似乎没有工作。 Excel文档打开时不需要输入密码。 下面是我到目前为止已经试过(mem
作为MemoryStream
参数):如何使用Open XML密码保护Excel文档
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"
}
}
我在想什么吗?
的[Excel文件的密码保护和Open XML SDK]可能的复制(http://stackoverflow.com/questions/15168011/excel-file-password-protection-with-open-xml-sdk) –
呀,这是我从我的第一次尝试的代码示例,但没有成功。 –
你有没有注意到,其他[SO帖子回答](http://stackoverflow.com/a/15281182/997668)建议调用'Save()'方法以防万一它不起作用? '//添加这个以防万一它仍然不起作用。这确保数据被保存。 //worksheet.Worksheet.Save();' 你试过了吗?这也没有帮助? – Michael