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 文件的步驟。
- 使用 Workbook 類加載 Excel 文件。
- 使用 Workbook.protect(ProtectionType, String) 方法保護 Excel 文件。
- 使用 Workbook.save(String) 方法保存受保護的文件。
以下代碼示例顯示瞭如何使用 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 文件的步驟。
- 使用 Workbook 類加載 Excel 文件。
- 使用 Workbook.unprotect(String) 方法取消保護 Excel 文件。
- 使用 Workbook.save(String) 方法保存未受保護的 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 工作表的步驟。
- 使用 Workbook 類加載 Excel 文件。
- 使用 Workbook.getWorksheets().get(int) 方法獲取 Worksheet 對像中的特定工作表。
- 使用 Worksheet.getProtection() 方法將工作表保護設置放入 Protection 對象。
- 使用 Protection.setPassword(String) 方法設置密碼。
- 使用 Workbook.save(String) 方法保存 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 的更多信息。