Aspose.Cells功能教程:使用C#加密和解密Excel文件
MS Excel提供了一種加密機(jī)制來保護(hù)電子表格中的數(shù)據(jù)免受未經(jīng)授權(quán)的用戶的侵害。除了應(yīng)用加密外,還可以指定打開Excel文件所需的密碼。本文介紹如何從.NET應(yīng)用程序中執(zhí)行Excel文件的加密。特別是,將學(xué)習(xí)如何使用C#加密和解密Excel文件。
- 使用C#加密Excel文件
- 使用C#解密Excel文件
- 驗(yàn)證加密的Excel文件的密碼
Aspose.Cells for .NET是一個C#類庫,旨在創(chuàng)建和處理MS Excel電子表格。還提供了簡單的加密方式和用所需的加密類型保護(hù)Excel文件的密碼。擊下方按鈕可以下載API的安裝包。
點(diǎn)擊下載Aspose.Cells for .NET
使用C#加密Excel文件
用于.NET的Aspose.Cells支持SHA和AES加密類型,以便以與MS Excel相同的方式加密Excel文件。對于Excel 2003文件,可以在以下加密類型之間進(jìn)行選擇:
- XOR
- Compatible (Office 97/2000 compatible)
- Enhanced Cryptographic Provider V1
- Strong Cryptographic Provider
以下是使用C#加密Excel文件的步驟。
- 使用Workbook類加載Excel文件。
- 使用Workbook.SetEncryptionOptions(EncryptionType,int)方法來應(yīng)用所需的加密。
- 使用Workbook.Settings.Password屬性設(shè)置密碼。
- 使用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類的構(gòu)造函數(shù)的路徑和密碼來加載Excel文件。
- 使用Workbook.Settings.Password屬性將密碼設(shè)置為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#驗(yàn)證加密的Excel文件的密碼
.NET的Aspose.Cells也允許您驗(yàn)證加密的Excel文件的密碼。為此,可以按照以下步驟操作。
- 使用FileStream類加載Excel文件。
- 若要驗(yàn)證密碼,請使用FileFileUtil.VerifyPassword(FileStream,string)方法,該方法返回布爾值。
- 如果返回的值為true,則密碼有效,否則密碼無效。
下面的代碼示例演示如何使用C#驗(yàn)證加密的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技術(shù)交流群(761297826),我們很高興為您提供查詢和咨詢。