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 屬性將密碼設置為 null。
- 使用 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 文件。
- 要驗證密碼,請使用返回 bool 值的 FileFormatUtil.VerifyPassword(FileStream, string) 方法。
- 如果返回值為 true,則密碼有效,否則無效。
以下代碼示例顯示如何使用 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 的更多信息。