让我们学习如何保护电子表格文件免遭未经授权的访问。之前我们讨论过向 Excel 电子表格添加文本和图像水印以避免任何非法使用。在本文中,我们将了解如何使用 C# 对 Excel 文件进行密码保护。此外,我们将更改现有密码,并学习删除密码以解锁 Excel 文件。

使用密码以编程方式保护 Excel 文件 - 锁定解锁

下面讨论以下主题:

用于锁定和解锁 Excel 文件的 .NET API

要锁定和解锁文档,我们将使用 GroupDocs.Merger for .NET。此 API 允许添加、更改和删除 .NET 应用程序中文档的密码安全功能。除了保护和取消保护 Excel 电子表格之外,该 API 还提供文档中提到的更多功能,例如合并和拆分。

您可以从 下载部分 下载 DLL 或 MSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。

PM> Install-Package GroupDocs.Merger

使用 C# 密码保护 Excel 文件 - 锁定电子表格

使用密码锁定电子表格

让我们首先通过使用密码锁定文件来添加保护。以下步骤演示如何使用 C# 将密码安全性添加到 Excel 电子表格。

  • 使用 AddPasswordOptions 类定义密码。
  • 使用 Merger 类加载 Excel 文件 (XLS/XLSX)。
  • 通过使用 AddPassword 方法添加密码来锁定文件。
  • 使用 Save 方法保存受保护的电子表格。

为了安全起见,以下 C# 代码将密码添加到 Excel 文件中。

/*
 * 使用 C# 向 Excel 电子表格文件 (XLS/XLSX) 添加密码保护
 */
string filePath = @"path/spreadsheet.xlsx";

AddPasswordOptions addOptions = new AddPasswordOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath))
{
    merger.AddPassword(addOptions);
    merger.Save(@"path/protected-spreadsheet.xlsx");
}

这是上面代码的输出。当您尝试打开电子表格文件时,编辑器或查看器将要求输入密码以证明您的权限。

输入受保护文件的密码

使用 C# 更新 Excel 文件的现有密码

你的密码真的暴露了吗?下次要小心一点。让我们用新的、有点困难的方法快速地以编程方式更改它。通过以下步骤,您可以在 C# 的 .NET 应用程序中更改电子表格文件的当前密码。

  • 首先,使用当前密码准备加载选项
  • 然后,使用新密码准备更新密码选项
  • 然后,使用 Merger 类和加载选项加载 XLS/XLSX 文件。
  • 现在,使用 UpdatePassword 方法更改现有密码。
  • 最后,使用 Save 方法保存锁定的文件和更改后的密码。

以下是更改电子表格文件当前密码的代码片段。

/*
 * 使用 C# 更改受保护的 Excel 电子表格的密码
 */
string filePath = @"path/protected-spreadsheet.xlsx";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");
UpdatePasswordOptions updateOptions = new UpdatePasswordOptions("TOPSECRET_pa22WORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.UpdatePassword(updateOptions);
    merger.Save(@"path/pwd-changed-spreadsheet.xlsx");
}

使用 C# 删除密码以取消保护 Excel 电子表格文件 - 解锁 XLS/XLSX

电子表格已解锁 - 已删除密码

如果您的电子表格现在处于安全状态,您可以删除密码以轻松访问这些电子表格。以下步骤演示如何使用 C# 删除 Excel 文件的密码来解锁 Excel 文件。

  • 使用文件的密码准备加载选项
  • 使用 Merger 类和加载选项加载电子表格文件。
  • 使用RemovePassword 方法删除现有密码。
  • 使用 Save 方法保存解锁的文件。

以下 C# 代码片段通过删除 Excel 文件的现有密码来解锁该文件,因此任何人都可以在未经授权的情况下访问它。

/*
 * 使用 C# 从 Excel 电子表格中删除密码保护
 */
string filePath = @"path/protected-spreadsheet.xlsx";

LoadOptions loadOptions = new LoadOptions("mySECRETpassWORD");

using (Merger merger = new Merger(filePath, loadOptions))
{
    merger.RemovePassword();
    merger.Save(@"path/unlocked-spreadsheet.xlsx");
}

结论

让我们总结一下今天所学的内容。我们从简单的 Excel 电子表格 (XLS/XLSX) 文件开始,并添加了密码保护。然后我们更改了该受保护电子表格的现有密码。最后,我们学习了如何删除受保护文件的密码以取消对 Excel 电子表格的保护。现在您可以使用 .NET API 构建您自己的密码保护器和密码删除器应用程序。

要了解有关 GroupDocs.Merger for .NET 的更多信息,请访问 文档。如有疑问,请通过论坛联系我们。

获取免费的 API 许可证

您可以获得免费的临时许可证来使用该 API,而不受评估限制。

也可以看看