How to: Open and Save a Password Encrypted File

  • 2 minutes to read

Open a File

When SpreadsheetControl loads a password encrypted file and the WorkbookImportOptions.Password property is not set or contains an incorrect password, the end-user is prompted for a password with the following dialog:

EncryptedFilePasswordRequestForm

You can specify a password in code and not show the dialog, as illustrated in the code below.

The code snippet handles the SpreadsheetControl.EncryptedFilePasswordRequest event to specify a password for loading a password encrypted file.

private void SpreadsheetControl1_EncryptedFilePasswordRequest(object sender, EncryptedFilePasswordRequestEventArgs e) {
    if (e.DocumentName == "encrypted_test.xlsx") e.Password = "test";
    if (e.DocumentName == "corrupted.xlsx") e.Password = "000";
    e.Handled = true;
}

SpreadsheetControl can handle a situation when the encrypted file is corrupted.

This code snippet handles the SpreadsheetControl.EncryptedFileIntegrityCheckFailed event to perform certain actions when loading a corrupted password encrypted file.

private void SpreadsheetControl1_EncryptedFileIntegrityCheckFailed(object sender, EncryptedFileIntegrityCheckFailedEventArgs e) {
    e.Cancel = true;
    e.Handled = true;
    MessageBox.Show("File is corrupted. Cannot load.","Warning");
}

Save a File

To save a password encrypted file, use the Encrypt Document dialog or specify the EncryptionOptions settings in code.

This code snippet obtains the DocumentSettings.Encryption settings selected in the editors and prompts for saving a password encrypted file.

IWorkbook workbook = spreadsheetControl1.Document;
workbook.DocumentSettings.Encryption.Type = (EncryptionType)Enum.Parse(typeof(EncryptionType), barEncryptionTypeComboBox.EditValue.ToString());
workbook.DocumentSettings.Encryption.Password = barPasswordEdit.EditValue.ToString();
spreadsheetControl1.SaveDocumentAs();