Skip to main content
All docs
V25.1
  • Row

    DevExpress v25.1 Update — Your Feedback Matters

    Our What's New in v25.1 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

    Take the survey Not interested

    WriteProtectionOptions Interface

    Contains write-protection options for a workbook.

    Namespace: DevExpress.Spreadsheet

    Assembly: DevExpress.Spreadsheet.v25.1.Core.dll

    NuGet Package: DevExpress.Spreadsheet.Core

    #Declaration

    public interface WriteProtectionOptions

    The following members return WriteProtectionOptions objects:

    #Remarks

    Write-protection options are ignored when you open a document in the WinForms or WPF Spreadsheet control. You can handle the SpreadsheetControl.DocumentLoaded event to check whether the document is write-protected (or its ReadOnlyRecommended option is enabled). If true, activate the control’s ReadOnly property.

    #Make a Workbook Read-Only

    Use the WriteProtectionOptions.ReadOnlyRecommended option to make a workbook read-only.

    using(var workbook = new Workbook())
    {
        var wpOptions = workbook.DocumentSettings.WriteProtection;
        wpOptions.ReadOnlyRecommended = true;
        workbook.SaveDocument("WriteProtectedDocument.xlsx");
    }
    

    When users open this workbook in Microsoft® Excel®, it prompts them to open the document as read-only.

    Read-only workbook

    #Specify a Password To Modify a Workbook

    Call the WriteProtectionOptions.SetPassword method to specify a password to prevent modifications from unauthorized users.

    using(var workbook = new Workbook())
    {
        var wpOptions = workbook.DocumentSettings.WriteProtection;
        wpOptions.SetPassword("Password");
        wpOptions.UserName = "John Smith";
        workbook.SaveDocument("WriteProtectedDocument.xlsx");
    }
    

    When users open this workbook in Microsoft® Excel®, it prompts them to enter a password to modify the document.

    Write-protection options for a workbook

    #Clear a Password Used to Modify a Workbook

    The following code snippet uses the WriteProtectionOptions.CheckPassword method to check a given password. If the password is valid, WriteProtectionOptions.ClearPassword is called to remove write-protection from a workbook.

    using (Workbook workbook = new Workbook())
    {
        workbook.LoadDocument("WriteProtectedDocument.xlsx");
        RemoveWriteProtection(workbook, "password");
    }
    // ...
    
    private void RemoveWriteProtection(Workbook workbook, string password)
    {
        var wpOptions = workbook.DocumentSettings.WriteProtection;
        if (wpOptions.IsPasswordProtected && wpOptions.CheckPassword(password))
            wpOptions.ClearPassword();
        else
        {
            Console.WriteLine("The file is not write-protected or the specified password is invalid!");
            Console.ReadKey();
        }
    }
    
    See Also