officefileapi-devexpress-dot-spreadsheet-554ecf19.md
Provides data for the EncryptedFilePasswordCheckFailed event.
Namespace : DevExpress.Spreadsheet
Assembly : DevExpress.Spreadsheet.v25.2.Core.dll
NuGet Package : DevExpress.Spreadsheet.Core
public class EncryptedFilePasswordCheckFailedEventArgs :
HandledEventArgs
Public Class EncryptedFilePasswordCheckFailedEventArgs
Inherits HandledEventArgs
EncryptedFilePasswordCheckFailedEventArgs is the data class for the following events:
| Library | Related API Members |
|---|---|
| WinForms Controls | SpreadsheetControl.EncryptedFilePasswordCheckFailed |
| WPF Controls | SpreadsheetControl.EncryptedFilePasswordCheckFailed |
| Office File API | ISpreadsheetComponent.EncryptedFilePasswordCheckFailed |
| Workbook.EncryptedFilePasswordCheckFailed |
The following code snippet handles the Workbook.EncryptedFilePasswordRequest and Workbook.EncryptedFilePasswordCheckFailed events to prompt users to enter a password. If the user cancels the operation, the Spreadsheet Document API shows an exception message and cancels the file loading operation.
View Example: Load and Save Password-Encrypted Files
static bool IsValid { get; set; }
static void Main(string[] args) {
Workbook workbook = new Workbook();
workbook.EncryptedFilePasswordRequest += Workbook_EncryptedFilePasswordRequest;
workbook.EncryptedFilePasswordCheckFailed += Workbook_EncryptedFilePasswordCheckFailed;
workbook.InvalidFormatException += Workbook_InvalidFormatException;
workbook.LoadDocument("Documents\\encrypted.xlsx");
}
private static void Workbook_EncryptedFilePasswordRequest(object sender, EncryptedFilePasswordRequestEventArgs e) {
//Prompt the user to enter the password
Console.WriteLine("Enter password:");
e.Password = Console.ReadLine();
e.Handled = true;
IsValid = true;
}
private static void Workbook_EncryptedFilePasswordCheckFailed(object sender, EncryptedFilePasswordCheckFailedEventArgs e) {
//Analyze the password error:
switch (e.Error) {
//If the password is empty, raise the request again
case SpreadsheetDecryptionError.PasswordRequired:
Console.WriteLine("You did not enter the password!");
e.TryAgain = true;
e.Handled = true;
break;
//If the password is invalid, ask user whether to continue the operation:
case SpreadsheetDecryptionError.WrongPassword:
Console.WriteLine("The password is incorrect. Try Again? (y/n)");
string answer = Console.ReadLine()?.ToLower();
if (answer == "y") {
e.TryAgain = true;
e.Handled = true;
}
//If user cancels the operation, show an exception message:
else {
IsValid = false;
}
break;
}
Program.IsValid = false;
}
private static void Workbook_InvalidFormatException(object sender, SpreadsheetInvalidFormatExceptionEventArgs e) {
Console.WriteLine(e.Exception.Message.ToString() + " Press any key to close...");
Console.ReadKey(true);
}
Private Shared Property IsValid As Boolean
Shared Sub Main(ByVal args() As String)
Dim workbook As New Workbook()
AddHandler workbook.EncryptedFilePasswordRequest, AddressOf Workbook_EncryptedFilePasswordRequest
AddHandler workbook.EncryptedFilePasswordCheckFailed, AddressOf Workbook_EncryptedFilePasswordCheckFailed
AddHandler workbook.InvalidFormatException, AddressOf Workbook_InvalidFormatException
workbook.LoadDocument("Documents\encrypted.xlsx")
End Sub
Private Shared Sub Workbook_EncryptedFilePasswordRequest(ByVal sender As Object, ByVal e As EncryptedFilePasswordRequestEventArgs)
'Prompt the user to enter the password
Console.WriteLine("Enter password:")
e.Password = Console.ReadLine()
e.Handled = True
IsValid = True
End Sub
Private Shared Sub Workbook_EncryptedFilePasswordCheckFailed(ByVal sender As Object, ByVal e As EncryptedFilePasswordCheckFailedEventArgs)
'Analyze the password error:
Select Case e.Error
'If the password is empty, raise the request again
Case SpreadsheetDecryptionError.PasswordRequired
Console.WriteLine("You did not enter the password!")
e.TryAgain = True
e.Handled = True
'If the password is invalid, ask user whether to continue the operation:
Case SpreadsheetDecryptionError.WrongPassword
Console.WriteLine("The password is incorrect. Try Again? (y/n)")
Dim answer As String = Console.ReadLine()?.ToLower()
If answer = "y" Then
e.TryAgain = True
e.Handled = True
'If user cancels the operation, show an exception message:
Else
IsValid = False
End If
End Select
Program.IsValid = False
End Sub
Private Shared Sub Workbook_InvalidFormatException(ByVal sender As Object, ByVal e As SpreadsheetInvalidFormatExceptionEventArgs)
Console.WriteLine(e.Exception.Message.ToString() & " Press any key to close...")
Console.ReadKey(True)
End Sub
Object EventArgs HandledEventArgs EncryptedFilePasswordCheckFailedEventArgs
See Also