在 Java 中保护 Excel 文件

Excel 文件用于以行和列的形式存储小型和大型数据。除了数据存储之外,您还可以使用图形和图表执行其他操作,例如计算和数据分析。由于数据值得保护,MS Excel 允许您保护 Excel 文件。本文介绍如何以编程方式自动保护 MS Excel 文件。特别是,您将学习如何使用 Java 保护和取消保护 Excel 文件。

用于保护 Excel 文件的 Java API

Aspose.Cells for Java 是一个著名的电子表格操作 API,旨在从 Java 应用程序中创建、编辑和转换 Excel 文件。除了其他基本和高级 Excel 自动化功能外,Aspose.Cells 还支持对 Excel 文件的保护。您可以 下载 API 的 JAR 或使用以下 Maven 配置安装它。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>20.12</version>
</dependency>

使用 Java 保护 Excel 文件

Aspose.Cells for Java 提供以下保护类型以保护 Excel 工作簿。

  • 全部 - User cannot modify anything
  • 内容 - User cannot enter data
  • 对象 - User cannot modify drawing objects
  • 情景 - User cannot modify saved scenarios
  • 结构体 - User cannot modify saved structure
  • 视窗 - User cannot modify saved windows
  • 没有任何 - No protection

以下是使用 Aspose.Cells for Java 保护 Excel 文件的步骤。

以下代码示例显示了如何保护 Java 中的 Excel 文件。

// 打开 Excel 文件
Workbook workbook = new Workbook("workbook.xlsx");

// 通过指定保护类型来保护工作簿
workbook.protect(ProtectionType.ALL, "12345");

// 保存文件
workbook.save("workbook_protected.xlsx");

使用 Java 取消保护 Excel 文件

以下是使用 Aspose.Cells for Java 取消保护受密码保护的 Excel 文件的步骤。

以下代码示例显示了如何在 Java 中取消保护 Excel 文件。

// 打开 Excel 文件
Workbook workbook = new Workbook("workbook_protected.xlsx");

// 取消保护工作簿
workbook.unprotect("12345");

// 将密码设置为空
workbook.getSettings().setPassword(null);

// 保存文件
workbook.save("workbook_unprotected.xlsx");

使用 Java 保护 Excel 工作表

您还可以在工作表级别应用保护。以下是使用 Aspose.Cells for Java 保护 Excel 工作表的步骤。

以下代码示例展示了如何使用 Java 保护 Excel 工作表。

// 打开 Excel 文件
Workbook workbook = new Workbook("workbook.xlsx");

// 访问 Excel 文件中的第一个工作表
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet worksheet = worksheets.get(0);

Protection protection = worksheet.getProtection();

// 以下 3 种方法仅适用于 Excel 2000 及更早的格式
protection.setAllowEditingContent(false);
protection.setAllowEditingObject(false);
protection.setAllowEditingScenario(false);

// 使用密码“1234”保护第一个工作表
protection.setPassword("1234");

// 保存文件
workbook.save("Excel.xlsx");

使用 Java 取消保护工作表

取消保护工作表的过程与保护工作表相同。唯一的区别是,您将使用 Worksheet.unprotect(String) 方法。以下代码示例显示如何使用 Java 取消保护 Excel 工作表。

// 打开 Excel 文件
Workbook workbook = new Workbook("workbook.xlsx");

// 访问 Excel 文件中的第一个工作表
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet worksheet = worksheets.get(0); 

// 取消保护工作表
worksheet.unprotect("12345");

// 保存文件
workbook.save("workbook_updated.xlsx");

获得免费许可证

您可以 获得免费的临时许可证 以便在没有评估限制的情况下试用 API。

结论

在本文中,您学习了如何使用 Java 保护和取消保护 Excel 文件。此外,您还了解了如何保护和取消保护 Excel 工作簿中的特定工作表。您可以使用 文档 探索有关 Java Excel 自动化 API 的更多信息。

也可以看看