MS Excel предоставляет механизм шифрования для защиты данных в электронных таблицах от неавторизованных пользователей. Наряду с применением шифрования вы можете указать пароль, который требуется для открытия файлов Excel. В этой статье рассказывается, как выполнить шифрование файлов Excel из приложений .NET. В частности, вы узнаете, как шифровать и расшифровывать файлы Excel с помощью C#.
- C# API для шифрования или расшифровки файлов Excel
- Шифровать файлы Excel с помощью C#
- Расшифровать файлы Excel с помощью C#
- Подтвердите пароль зашифрованного файла Excel
- Получить бесплатную лицензию
C# API для шифрования или расшифровки файлов Excel
Для выполнения операций шифрования и дешифрования файлов Excel в этой статье используется API Aspose.Cells for .NET. API предоставляет простые способы шифрования и защиты паролем файлов Excel с желаемым типом шифрования. Вы можете либо загрузить API, либо установить его в свои приложения .NET с помощью NuGet.
Install-Package Aspose.Cells
Шифровать файлы Excel с помощью C#
Aspose.Cells для .NET поддерживает типы шифрования SHA и AES, чтобы шифровать файлы Excel так же, как это делает MS Excel. Для файлов Excel 2003 можно выбрать один из следующих типов шифрования:
- исключающее ИЛИ
- Совместимость (совместимость с Office 97/2000)
- Усовершенствованный поставщик криптографии V1
- Сильный криптографический провайдер
Ниже приведены шаги для шифрования файла Excel с помощью C#.
- Загрузите файл Excel, используя класс Workbook.
- Используйте метод Workbook.SetEncryptionOptions(EncryptionType, int), чтобы применить желаемое шифрование.
- Установите пароль с помощью свойства Workbook.Settings.Password.
- Сохраните книгу с помощью метода Workbook.Save(string).
В следующем примере кода показано, как зашифровать файл Excel с помощью C#.
// Откройте файл Excel
Workbook workbook = new Workbook("Book1.xls");
// Укажите тип шифрования XOR
workbook.SetEncryptionOptions(EncryptionType.XOR, 40);
// Укажите тип надежного шифрования (RC4, Microsoft Strong Cryptographic Provider)
workbook.SetEncryptionOptions(EncryptionType.StrongCryptographicProvider, 128);
// Защитить файл паролем
workbook.Settings.Password = "1234";
// Сохраните файл Excel
workbook.Save("encryptedBook.xls");
Расшифровать файлы Excel с помощью C#
Ниже приведены шаги для расшифровки файлов Excel с помощью Aspose.Cells для .NET API.
- Загрузите файл Excel, указав путь и пароль конструктору класса Workbook.
- Установите для пароля значение null, используя свойство Workbook.Settings.Password.
- Сохраните книгу, используя метод Workbook.Save(string).
В следующем примере кода показано, как расшифровать файл Excel с помощью C#.
// Откройте файл Excel
Workbook workbook = new Workbook("encryptedBook.xlsx", new LoadOptions { Password="1234" });
// Установите пароль на ноль
workbook.Settings.Password = null;
// Сохраните файл Excel.
workbook.Save("decryptedBook.xlsx");
Проверьте пароль зашифрованного файла Excel с помощью С#
Aspose.Cells для .NET также позволяет проверять пароль зашифрованных файлов Excel. Для этого вы можете выполнить следующие шаги.
- Загрузите файл Excel с помощью класса FileStream.
- Чтобы проверить пароль, используйте метод FileFormatUtil.VerifyPassword(FileStream, string), который возвращает логическое значение.
- Если возвращаемое значение истинно, то пароль действителен, в противном случае он недействителен.
В следующем примере кода показано, как проверить пароль зашифрованного файла Excel с помощью C#.
// Создайте объект потока
FileStream fstream = new FileStream("EncryptedBook1.xlsx", FileMode.Open);
// Подтвердите пароль
bool isPasswordValid = FileFormatUtil.VerifyPassword(fstream, "1234");
// Распечатать результаты
Console.WriteLine("Password is Valid: " + isPasswordValid);
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы попробовать API без ограничений пробной версии.
Вывод
В этой статье вы узнали, как шифровать и расшифровывать файлы Excel с помощью C# из приложений .NET. Кроме того, вы видели, как проверить пароль зашифрованных файлов Excel. Вы можете узнать больше об API автоматизации C# Excel, используя документацию.