ホームページ  >  記事  >  Java  >  Java を使用して Excel ファイルを暗号化および復号化するにはどうすればよいですか?

Java を使用して Excel ファイルを暗号化および復号化するにはどうすればよいですか?

PHPz
PHPz転載
2023-05-08 14:58:082422ブラウズ

概要

Excel ファイル保護を設定する場合、通常はワークブック全体を暗号化して保護することを選択でき、ファイルを開くときにパスワードを入力する必要があります。または、指定したワークシートを暗号化することもできます。つまり、テーブルの内容を読み取り専用に設定し、ワークシートを編集できなくなります。さらに、ワークシートの特定の領域に保護を設定することもできます。つまり、指定した領域を編集可能に設定したり、データ式を非表示にしてデータ情報のソースを保護したりできます。文書保護を設定する必要がない場合は、パスワード保護を解除する、つまり文書を復号化することができます。

サンプル アウトライン

1. Excelワークブック

1.1 暗号化されたワークブック

1.2 復号化ワークブック

2. Excelワークシート

2.1 ワークシートの暗号化

2.2 暗号化されたワークシートのデータ範囲の指定

2.3 ワークシートの数式を非表示に設定する

2.4 Excel ワークシートを復号化する

ツール

ツール:Free Spire.XLS for Java (無料バージョン)

注 1: 公式 Web サイトから jar パッケージをダウンロードし、解凍して lib フォルダー内の jar ファイルを Java プログラムにインポートするか、ダウンロードすることができます。 Maven ウェアハウスのインポートを通じてインストールします。

Java を使用して Excel ファイルを暗号化および復号化するにはどうすればよいですか?

注 2:ここでワークシート保護を設定すると、複数の異なる種類の保護をサポートできます (以下に示すように)。この記事では、例としてそのうちの 1 つを選択する方法を使用します。

Java を使用して Excel ファイルを暗号化および復号化するにはどうすればよいですか?

#Java コードの例

例 1 暗号化されたワークブック

import com.spire.xls.*;

public class ProtectWb {
    public static void main(String[] args) {
        //加载测试文档
        Workbook wb = new Workbook();
        wb.loadFromFile("sample.xlsx");

        //使用密码加密工作簿
        wb.protect("123456");

        //保存文档
        wb.saveToFile("ProtectWorkbook.xlsx", ExcelVersion.Version2010);
        wb.dispose();
    }
}

ワークブックの暗号化結果:

Java を使用して Excel ファイルを暗号化および復号化するにはどうすればよいですか?

例 2 ワークブックの復号化

import com.spire.xls.*;

public class UnprotectWb {
    public static void main(String[] args) {
        //加载文档
        Workbook wb = new Workbook();
        wb.setOpenPassword("123456");//源文档密码
        wb.loadFromFile("ProtectWorkbook.xlsx");

        //解除密码保护
        wb.unProtect();

        //保存文档
        wb.saveToFile("UnprotectWb.xlsx");
        wb.dispose();
    }
}

プログラムを実行すると、生成されたワークブック ファイルはパスワードで保護されなくなります。

例 3 暗号化されたワークシート

import com.spire.xls.*;

import java.util.EnumSet;

public class ProtectSheet {
    public static void main(String[] args) {
        //加载测试文档
        Workbook wb = new Workbook();
        wb.loadFromFile("sample.xlsx");

        //获取第一个工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //使用密码加密保护
        sheet.protect("654321", EnumSet.of(SheetProtectionType.All));

        //保存文档
        wb.saveToFile("ProtectWorksheet.xlsx", ExcelVersion.Version2010);
        wb.dispose();
    }
}

ワークシート暗号化結果:

Java を使用して Excel ファイルを暗号化および復号化するにはどうすればよいですか?

例 4 暗号化されたワークシート指定されたデータ範囲

import com.spire.xls.*;

import java.util.EnumSet;

public class ProtectRange {
    public static void main(String[] args) {
        //加载测试文档
        Workbook wb = new Workbook();
        wb.loadFromFile("sample.xlsx");

        //获取第一个工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //密码加密工作表
        sheet.protect("123654", EnumSet.of(SheetProtectionType.All));
        //指定可编辑的区域
        sheet.addAllowEditRange("AllowEdit",sheet.getCellRange(3,1,11,8));

        //保存文档
        wb.saveToFile("ProtectRange.xlsx", ExcelVersion.Version2010);
        wb.dispose();
    }
}

指定された領域の暗号化結果:

Java を使用して Excel ファイルを暗号化および復号化するにはどうすればよいですか?#例 5 ワークシートの数式非表示の設定

import com.spire.xls.*;

import java.util.EnumSet;

public class ProtectAndHideFormula {
    public static void main(String[] args) {
        //加载文档
        Workbook  wb = new Workbook();
        wb.loadFromFile("sample.xlsx");

        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //设置加密
        sheet.protect("123", EnumSet.of(SheetProtectionType.All));
        //隐藏公式
        sheet.getAllocatedRange().isFormulaHidden(true);

        //保存文档
        wb.saveToFile("HideFormula.xlsx",FileFormat.Version2010);
        wb.dispose();
    }
}

数式非表示の結果の設定:

Java を使用して Excel ファイルを暗号化および復号化するにはどうすればよいですか?例 6 Excel ワークシートの復号化

import com.spire.xls.*;

public class UnprotectSheet {
    public static void main(String[] args) {
        //加载文档
        Workbook  wb = new Workbook();
        wb.loadFromFile("ProtectWorksheet.xlsx");

        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //解除密码保护(需输入源文档密码)
        sheet.unprotect("654321");

        //保存文档
        wb.saveToFile("UnprotectSheet.xlsx",ExcelVersion.Version2010);
        wb.dispose();
    }
}

プログラムを実行すると、生成されたドキュメントで、指定されたワークシートは保護されなくなります。

以上がJava を使用して Excel ファイルを暗号化および復号化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。