一、概述

本文介绍通过Java程序来实现Excel文档加密以及解密的方法,包括对Excel工作簿加密、解密,对指定工作表加密、解密。程序中使用了免费版Java Excel类库(Free Spire.XLS for Java),可以通过官网下载文件包,并将lib文件夹中的jar文件导入程序;或者通过maven仓库导入,maven仓库路径配置和依赖添加,可参考教程文章。Jar文件导入效果如下:
Java 加密、解密Excel文档_第1张图片

二、代码示例

1. 加密、解密Excel工作簿

1.1 加密工作簿

import com.spire.xls.*;

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

        //加密工作簿
        wb.protect("123");

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

1.2 解密工作簿

import com.spire.xls.*;

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

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

        //保存文档
        wb.saveToFile("UnProtectWorkbook.xlsx");
        wb.dispose();
    }
}
  1. 加密、解密Excel工作表
    2.1 加密工作表
import com.spire.xls.*;

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

        //获取工作表,加密
       Worksheet sheet = wb.getWorksheets().get(0);
       sheet.protect("123");

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

2.2 解密工作表

import com.spire.xls.*;

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

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

        //解除工作表的密码保护
        sheet.unprotect("123");

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

(本文完)