0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Posted at

Excel ファイルは、個人の財務からビジネス記録まで、データの保存と整理に広く使用されています。Excelファイルの重要なデータの変更や共有を防ぐために、無料のFree Spire.XLS for JavaはExcelファイルを保護するための多くの方法を提供しています。この記事では、JavaアプリケーションでExcelファイルを保護する方法を紹介します。

【依存関係の追加】

この方法は、無料のFree Spire.XLS for Javaが必要ですので、先にjarファイルをインポートしてください。

1. Maven

Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>

2. 公式サイトよりJarファイルをダウンロード

まず、Free Spire.XLS for Javaの公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Xls.jarファイルを依存関係としてプロジェクトにインポートしてください。

Excelファイルを保護するためのパスワードを設定する

Free Spire.XLS for java は、Excel ワークブックへのアクセスをパスワードで制限する Workbook.protect() メソッドを提供します。これにより、権限のないユーザーが正しいパスワードなしでファイルを開いたり変更したりすることを防ぎます。以下は、Free Spire.XLS for Javaを使用して、ワークブックをパスワードで保護する手順です。

  • Workbook のオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook.protect() メソッドを使用して、パスワードを使用してワークブックを保護します。
  • Workbook.saveToFile() メソッドを使用して、ワークブックを保存します。

Java

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;

public class passwordProtectWorkbook {
    public static void main(String[] args) throws Exception {

        //Workbookのオブジェクトを作成する
        Workbook workbook = new Workbook();

        //Excelファイルを読み込む
        workbook.loadFromFile("C:/売上請求書追跡.xlsx");

        //パスワードでワークブックを保護する
        workbook.protect("password");

        //ワークブックを保存する
        workbook.saveToFile("暗号化.xlsx", ExcelVersion.Version2016);
    }
}

Excelファイルを保護するためのパスワードを設定する

最終版としてマークする

最終版としてマークするコマンドは、Excelワークブックを読み取り専用にし、文書に変更を加えることを防ぎます。最終版としてマークされたExcelを共有すると、閲覧者にそのスプレッドシートは最終版であり、変更は不要であることを伝えることになります。

  • Workbook のオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • ドキュメントプロパティMarkAsFinaltrueに設定します。
  • Workbook.saveToFile() メソッドを使用して、ワークブックを保存します。

Java

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;

public class markAsFinal {
    public static void main(String[] args) throws Exception {

        //Workbookのオブジェクトを作成する
        Workbook workbook = new Workbook();

        //Excelファイルを読み込む
        workbook.loadFromFile("C:/売上請求書追跡.xlsx");

        //ドキュメントプロパティMarkAsFinalをtrueに設定する
        workbook.getCustomDocumentProperties().add("_MarkAsFinal", true);

        //ワークブックを保存する
        workbook.saveToFile("最終版.xlsx", ExcelVersion.Version2016);
    }
}

最終版としてマークする

特定の保護タイプでExcelワークシートを保護する

Excelファイルを読む許可は与えるが、ワークシート上で行える修正の種類は制限したい場合、特定の保護タイプでワークシートを保護することができます。以下はその手順です。

  • Workbook のオブジェクトを作成します。
  • Workbook.loadFromFile() メソッドを使用して、Excel ファイルを読み込みます。
  • Workbook.getWorksheets().get(index) メソッドを使用して、特定のワークシートを取得します。
  • Worksheet.protect(String password, EnumSet.of options) メソッドを使用して、保護タイプでワークシートを保護します。
  • Workbook.saveToFile() メソッドを使用して、ワークブックを保存します。

Java

import com.spire.xls.ExcelVersion;
import com.spire.xls.SheetProtectionType;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

import java.util.EnumSet;

public class protectWorksheet {
    public static void main(String[] args) throws Exception {

        //Workbookのオブジェクトを作成する
        Workbook workbook = new Workbook();
        workbook.loadFromFile("C:/売上請求書追跡.xlsx");

        //特定のワークシートを取得する
        Worksheet worksheet = workbook.getWorksheets().get(1);

        //ワークシートをパスワードで保護し、保護タイプを指定する
        worksheet.protect("psd-permission", EnumSet.of(SheetProtectionType.None));

        //ワークブックを保存する
        workbook.saveToFile("ワークシートの保護.xlsx", ExcelVersion.Version2016);
    }
}

特定の保護タイプでExcelワークシートを保護する

Excelに電子署名を追加する

Excelファイルの真正性を確認するために、デジタル署名を追加することができます。電子署名を追加すると、ファイルは読み取り専用になり、それ以上の編集ができなくなります。誰かがファイルを変更した場合、デジタル署名は直ちに無効になります。

  • Workbook のインスタンスを作成します。
  • Workbook.loadFromFile() メソッドを使用して、Excelファイルを読み込みます。
  • 指定された証明書(.pfx)ファイルのパスと.pfxファイルのパスワードでCertificateAndPrivateKeyインスタンスを作成します。
  • Workbook.addDigitalSignature(CertificateAndPrivateKey, String, Date) メソッドを使用して、ファイルに電子署名を追加します。
  • Workbook.saveToFile() メソッドを使用して、結果ファイルを保存します。

Java

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.digital.CertificateAndPrivateKey;
import java.util.Date;

public class addDigitalSignature {
    public static void main(String[] args) throws Exception {

        //Workbookのオブジェクトを作成する
        Workbook workbook = new Workbook();
        workbook.loadFromFile("C:/売上請求書追跡.xlsx");

        //ファイルに電子署名を付加する
        CertificateAndPrivateKey cap = new CertificateAndPrivateKey("C:/電子署名.pfx","e-iceblue");
        workbook.addDigitalSignature(cap, "e-iceblue",new Date());

        //結果ファイルを保存する
        workbook.saveToFile("電子署名の追加.xlsx", ExcelVersion.Version2013);
    }
}

Excelに電子署名を追加する

以上、Excelファイルを保護する方法について説明しました。より多くのExcelスキルを知りたい場合はSpire.XLS for Javaチュートリアルにアクセスしてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?