logo Aspose.PDF使用教程 我也要发布文档

使用C#加密和解密Excel文件


MS Excel提供了一种加密机制来保护电子表格中的数据免受未经授权的用户的侵害。除了应用加密外,还可以指定打开Excel文件所需的密码。本文介绍如何从.NET应用程序中执行Excel文件的加密。特别是,将学习如何使用C#加密和解密Excel文件。

  • 使用C#加密Excel文件
  • 使用C#解密Excel文件
  • 验证加密的Excel文件的密码

Aspose.Cells for .NET是一个C#类库,旨在创建和处理MS Excel电子表格。还提供了简单的加密方式和用所需的加密类型保护Excel文件的密码。击下方按钮可以下载API的安装包。

点击下载Aspose.Cells for .NET


使用C#加密Excel文件

用于.NET的Aspose.Cells支持SHA和AES加密类型,以便以与MS Excel相同的方式加密Excel文件。对于Excel 2003文件,可以在以下加密类型之间进行选择:

  • XOR
  • Compatible (Office 97/2000 compatible)
  • Enhanced Cryptographic Provider V1
  • Strong Cryptographic Provider

以下是使用C#加密Excel文件的步骤。

  • 使用Workbook类加载Excel文件。
  • 使用Workbook.SetEncryptionOptions(EncryptionType,int)方法来应用所需的加密。
  • 使用Workbook.Settings.Password属性设置密码。
  • 使用Workbook.Save(string)方法保存工作簿。

下面的代码示例演示如何使用C#加密Excel文件。

// Open an excel file
Workbook workbook = new Workbook("Book1.xls");

// Specify XOR encryption type
workbook.SetEncryptionOptions(EncryptionType.XOR, 40);

// Specify Strong Encryption type (RC4,Microsoft Strong Cryptographic Provider)
workbook.SetEncryptionOptions(EncryptionType.StrongCryptographicProvider, 128);

// Password protect the file
workbook.Settings.Password = "1234";

// Save the excel file
workbook.Save("encryptedBook.xls");

使用C#解密Excel文件

以下是使用Aspsoe.Cells for .NET API解密Excel文件的步骤。

  • 通过提供Workbook类的构造函数的路径和密码来加载Excel文件。
  • 使用Workbook.Settings.Password属性将密码设置为null 。
  • 使用Workbook.Save(string)方法保存工作簿。

下面的代码示例演示如何使用C#解密Excel文件。

// Open an excel file
Workbook workbook = new Workbook("encryptedBook.xlsx", new LoadOptions { Password="1234" });

// Set the password to null
workbook.Settings.Password = null;

// Save the excel file.
workbook.Save("decryptedBook.xlsx");

使用C#验证加密的Excel文件的密码

.NET的Aspose.Cells也允许您验证加密的Excel文件的密码。为此,可以按照以下步骤操作。

  • 使用FileStream类加载Excel文件。
  • 若要验证密码,请使用FileFileUtil.VerifyPassword(FileStream,string)方法,该方法返回布尔值。
  • 如果返回的值为true,则密码有效,否则密码无效。

下面的代码示例演示如何使用C#验证加密的Excel文件的密码。

// Create a Stream object
FileStream fstream = new FileStream("EncryptedBook1.xlsx", FileMode.Open);

// Verify password
bool isPasswordValid = FileFormatUtil.VerifyPassword(fstream, "1234");

// Print results
Console.WriteLine("Password is Valid: " + isPasswordValid);

如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询