JavaでExcelファイルを保護する

Excelファイルは、行と列の形式で小さいデータと大きいデータを格納するために使用されます。データストレージに加えて、グラフやチャートを使用した計算やデータ分析などの他の操作を実行できます。データは保護する価値があるため、MSExcelではExcelファイルを保護できます。この記事では、MSExcelファイルの保護をプログラムで自動化する方法について説明します。特に、Javaを使用してExcelファイルを保護および保護解除する方法を学習します。

Excelファイルを保護するJavaAPI

Aspose.Cells for Javaは、Javaアプリケーション内からExcelファイルを作成、編集、および変換するように設計された、よく知られたスプレッドシート操作APIです。 Aspose.Cellsは、他の基本的なExcel自動化機能と高度なExcel自動化機能に加えて、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ブックを保護するために、次の保護タイプを提供します。

以下は、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ファイルの保護を解除する手順です。

  • Workbookクラスを使用してExcelファイルをロードします。
  • Workbook.unprotect(String)メソッドを使用して、Excelファイルの保護を解除します。
  • Workbook.save(String)メソッドを使用して、保護されていないExcelファイルを保存します。

次のコードサンプルは、JavaでExcelファイルの保護を解除する方法を示しています。

// Excelファイルを開きます
Workbook workbook = new Workbook("workbook_protected.xlsx");

// ブックの保護を解除する
workbook.unprotect("12345");

// パスワードをnullに設定
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つの方法は、Excel2000以前の形式のみを対象としています。
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ブックの特定のワークシートを保護および保護解除する方法を見てきました。 ドキュメントを使用して、JavaExcel自動化APIの詳細を調べることができます。

関連項目