乐趣区

关于java:Java-加密和解密Excel文档

详情

通常来说,对 Excel 文档进行爱护的办法有爱护整个工作簿或指定的工作表,以及标记最终状态,设置用户能够编辑区域等。本文将应用 Free Spire.XLS for Java 来演示如何给 Excel 工作簿或工作表加密以及移除密码保护。

Jar 包获取及导入

在运行代码前,需先将 Jar 包导入 IDEA 中。

形式一:E-iceblue 官网 上下载 Free Spire.XLS for Java 产品包,解压后将 lib 文件夹下的 Spire.Xls.jar 手动导入 IDEA 中。导入步骤如下图。


形式二:通过 Maven 仓库装置导入产品及相干依赖。在 IDEA 中创立一个 Maven 我的项目,而后在 pom.xml 文件里键入以下代码,最初点击“Import Changes”即可。

<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>3.9.1</version>
</dependency>
</dependencies>

代码演示

爱护工作簿

Free Spire.XLS for Java 提供了 work.protect() 办法来设置密码保护工作簿,读者只有输出正确明码能力关上工作簿。

import com.spire.xls.*;
public class ProtectWorkbook {public static void main(String[] args) {
        // 创立 Workbook 实例
 Workbook workbook = new Workbook();
        // 加载示例文档
 workbook.loadFromFile("C:UsersTest1DesktopSample.xlsx");
        // 设置密码保护文档
 workbook.protect("myexcel123");
        // 保留后果文档
 workbook.saveToFile("output/ProtectWorkbook.xlsx", ExcelVersion.Version2013);
    }
}

效果图:

爱护工作表

与爱护工作簿类似,咱们能够利用 sheet.protect() 办法来对某个特定的工作表进行加密爱护,读者能够关上并查看工作表,但不能对其内容进行编辑操作。

import com.spire.xls.*;
import java.util.EnumSet;
public class ProtectWorksheet {public static void main(String[] args) {
        // 创立 Workbook 实例
 Workbook workbook = new Workbook();
        // 加载示例文档
 workbook.loadFromFile("C:UsersTest1DesktopSample.xlsx");
        // 获取第一个工作表
 Worksheet sheet = workbook.getWorksheets().get(0);
        // 应用明码加密爱护
 sheet.protect("myworksheet123", EnumSet.of(SheetProtectionType.All));
        // 保留后果文档
 workbook.saveToFile("output/ProtectWorksheet.xlsx", ExcelVersion.Version2010);
    }
}

效果图:

勾销密码保护工作簿
import com.spire.xls.*;
public class UnprotectWb {public static void main(String[] args) {
        // 加载文档
 Workbook wb = new Workbook();
        wb.setOpenPassword("myexcel123");// 源文档明码
 wb.loadFromFile("C:UsersTest1DesktopProtectWorkbook.xlsx");
        // 解除密码保护
 wb.unProtect();
        // 保存文档
 wb.saveToFile("output/UnprotectWb.xlsx");
        wb.dispose();}
}
勾销密码保护工作表
import com.spire.xls.*;
public class UnprotectWs {public static void main(String[] args) {
        // 加载文档
 Workbook  wb = new Workbook();
        wb.loadFromFile("C:UsersTest1DesktopProtectWorksheet.xlsx");
        // 获取工作表
 Worksheet sheet = wb.getWorksheets().get(0);
        // 解除密码保护(需输出源文档明码)sheet.unprotect("myworksheet123");
        // 保存文档
 wb.saveToFile("output/UnprotectSheet.xlsx",ExcelVersion.Version2010);
        wb.dispose();}
}

总结

Free Spire.XLS for Java 除了加密工作簿或工作表来爱护 Excel 文档外,还反对设置用户可编辑区域,锁定特定单元格等。无关代码或产品导入问题,可在下方评论或私信。

退出移动版