Şu anda, MemoryStream
parametresini geçirerek Open XML SpreadsheetDocument
sınıfında yeni bir Excel belgesi oluşturuyorum. Şu anda bu SpreadsheetDocument
nesnesinde bir parola ayarlamam gerekiyor, ancak denediğim şey işe yaramıyor gibi görünüyor. Excel belgesi, şifre sormadan açılır.Açık XML ile bir Excel belgesini nasıl parola ile koruruz
using (SpreadsheetDocument spreadsheet = SpreadsheetDocument.Open(mem, true))
{
foreach (var sheet in spreadsheet.WorkbookPart.WorksheetParts)
{
sheet.Worksheet.Append(new SheetProtection() { Password = "test" });
}
}
Ben de çalıştılar hiçbir başarı ile şu:
using (SpreadsheetDocument spreadsheet = SpreadsheetDocument.Open(mem, true))
{
spreadsheet.WorkbookPart.Workbook.WorkbookProtection = new WorkbookProtection
{
LockStructure = true,
LockWindows = true,
WorkbookPassword = "test"
}
}
Ne lütfen Eksik Aşağıda (mem
MemoryStream
parametre olmak üzere) Ben şimdiye kadar denedim nedir?
Olası kopyalar (http://stackoverflow.com/questions/15168011/excel-file-password-protection-with-open-xml-sdk) –
Evet Bu benim ilk denememin kod örneğini aldığım ama başarılı olmadığı yer. –
Ve başka [SO yanıt sonrası] o, fark etmedi (http://stackoverflow.com/a/15281182/997668) bir çağrı yapmak için önermektedir 'Kaydet()' o durumda yöntemi çalışmıyor? '// yine de çalışmıyorsa bunu ekleyin. Bu, verilerin kaydedildiğinden emin olur. //worksheet.Worksheet.Save(); ' Denediniz mi? Bu da yardımcı olmadı mı? – Michael