MS Excel 提供了一种加密机制来保护电子表格中的数据免受未经授权的用户的侵害。除了应用加密之外,您还可以指定打开 Excel 文件所需的密码。本文介绍如何从 .NET 应用程序中执行 Excel 文件的加密。特别是,您将学习如何使用 C# 加密和解密 Excel 文件。
用于加密或解密 Excel 文件的 C# API
为了对Excel文件进行加解密操作,本文使用Aspose.Cells for .NET API。 API 提供了使用所需加密类型对 Excel 文件进行加密和密码保护的简单方法。您可以 下载 API 或使用 NuGet 将其安装在您的 .NET 应用程序中。
Install-Package Aspose.Cells
使用 C# 加密 Excel 文件
Aspose.Cells for .NET 支持 SHA 和 AES 加密类型,以便以与 MS Excel 相同的方式加密 Excel 文件。对于 Excel 2003 文件,您可以选择以下加密类型:
- 异或
- 兼容(Office 97/2000 兼容)
- 增强的加密提供程序 V1
- 强大的加密提供者
以下是使用 C# 加密 Excel 文件的步骤。
- 使用 Workbook 类加载 Excel 文件。
- 使用 Workbook.SetEncryptionOptions(EncryptionType, int) 方法应用所需的加密。
- 使用 Workbook.Settings.Password 属性设置密码。
- 使用 Workbook.Save(string) 方法保存工作簿。
以下代码示例展示了如何使用 C# 加密 Excel 文件。
// 打开一个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");
使用 C# 解密 Excel 文件
以下是使用 Aspose.Cells for .NET API 解密 Excel 文件的步骤。
- 通过向 Workbook 类的构造函数提供路径和密码来加载 Excel 文件。
- 使用 Workbook.Settings.Password 属性将密码设置为空。
- 使用 Workbook.Save(string) 方法保存工作簿。
以下代码示例展示了如何使用 C# 解密 Excel 文件。
// 打开一个excel文件
Workbook workbook = new Workbook("encryptedBook.xlsx", new LoadOptions { Password="1234" });
// 将密码设置为空
workbook.Settings.Password = null;
// 保存excel文件。
workbook.Save("decryptedBook.xlsx");
使用 C# 验证加密 Excel 文件的密码
Aspose.Cells for .NET 还允许您验证加密 Excel 文件的密码。为此,您可以按照以下步骤操作。
- 使用 FileStream 类加载 Excel 文件。
- 要验证密码,请使用返回布尔值的 FileFormatUtil.VerifyPassword(FileStream, string) 方法。
- 如果返回值为真,则密码有效,否则无效。
以下代码示例展示了如何使用 C# 验证加密 Excel 文件的密码。
// 创建一个流对象
FileStream fstream = new FileStream("EncryptedBook1.xlsx", FileMode.Open);
// 验证密码
bool isPasswordValid = FileFormatUtil.VerifyPassword(fstream, "1234");
// 打印结果
Console.WriteLine("Password is Valid: " + isPasswordValid);
获得免费许可证
您可以 获得免费的临时许可证 以便在没有评估限制的情况下试用 API。
结论
在本文中,您学习了如何在 .NET 应用程序中使用 C# 加密和解密 Excel 文件。此外,您还了解了如何验证加密 Excel 文件的密码。您可以使用 文档 探索有关 C# Excel 自动化 API 的更多信息。