概况

通常来说,对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”即可。

com.e-iceblue

http://repo.e-iceblue.cn/repository/maven-public/

e-iceblue

spire.xls.free

3.9.1

代码演示

保护工作簿

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文档外,还支持设置用户可编辑区域,锁定特定单元格等。有关代码或产品导入问题,可在下方评论或私信。

java 加密word_Java 加密和解密Excel文档相关推荐

  1. Java教程:使用POI读取excel文档(根据BV1bJ411G7Aw整理)

    Java教程:使用POI读取excel文档(根据BV1bJ411G7Aw整理) 最近公司需要我做一个导出Excel表格的功能,为此来学习一下POI,在这里记录一下学习笔记.B站直接搜BV1bJ411G ...

  2. java对excel加密_Java 加密、解密Excel文档

    一.概述 本文介绍通过Java程序来实现Excel文档加密以及解密的方法,包括对Excel工作簿加密.解密,对指定工作表加密.解密.程序中使用了免费版Java Excel类库(Free Spire.X ...

  3. Java自定义导出列_后台生成EXCEL文档,自定义列

    后台生成EXCEL文档,自定义列 //response输出流处理 //设置编码.类型.文件名 getResponse().reset(); getResponse().setCharacterEnco ...

  4. 如何设置对企业批量的图文档加密?2021企业首选公司文档加密方案,宁波风奥金甲数据防泄漏...

    此文转载自:https://my.oschina.net/u/4175209/blog/4755384 大咖揭秘Java人都栽在了哪?点击免费领取<大厂面试清单>,攻克面试难关~>& ...

  5. java后台处理excel_java后台利用Apache poi 生成excel文档提供前台下载示例

    之前在项目中会用到在java在后台把数据填入Word文档的模板来提供前台下载,为了自己能随时查看当时的实现方案及方便他人学习我写了这篇博客,访问量已经是我写的博客里第一了.于是乎我在学会用Java在后 ...

  6. java excel 插入文件_Java 添加OLE对象到Excel文档

    本文介绍通过Java程序添加OLE对象到Excel文档.OLE分为两种形式,一种通过嵌入(Embed),方式,一种通过链接(Link)方式.前者是将对象嵌入到文档中,外部对该对象的更改不影响嵌入操作时 ...

  7. java 加密word_Java 加密和解密PDF文档

    前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密.同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档.本文将通过Java程序来演示如何对PDF文档进行加密和解 ...

  8. java加密解密 pdf_Java 加密和解密PDF文档

    前言 在日常办公时,为了保护文档不被他人篡改,我们可为文档设置打开口令,即加密.同时,因需要我们也可对加密文档进行解密,以便能够查看和编辑文档.本文将通过Java程序来演示如何对PDF文档进行加密和解 ...

  9. java修改ppt格式_Java 加密、解密PPT文档

    文档加密常通过设置文档打开密码.启用文档编辑时的权限密码等方式:而解密则通过删除原有文档的密码或在此基础上重置新的密码.以下文章内容,将通过Java程序来实现通过以上方式来加密.解密PPT文档. 使用 ...

最新文章

  1. 在2D数组上进行迭代时,为什么循环顺序会影响性能?
  2. 20161023 NOIP 模拟赛 T1 解题报告
  3. run spark pi_Spark Run本地设计模式
  4. python有序数组中删除元素_python刷LeetCode:26. 删除排序数组中的重复项
  5. 执行sc query mysql,sc delete mysql没有反应
  6. 博客也是网络赚钱的有利工具
  7. 使用异步存储提升 Web 应用程序的离线体验
  8. Centos7 Kubernetes(K8s) k8s 开发 单服务器部署 rocketmq
  9. 80sec被黑原因分析
  10. 无线充电手机 协议 c语言,这款无线充电器仅69元?支持Qi协议
  11. 51单片机矩阵键盘控制数码管
  12. 交流电压和电流的有效值计算方法分析
  13. java 求tan角度求值_知道sin、cos、tan的角度如何求值,不用计算器
  14. Wrong JPEG library version :library is 80,caller expects 62
  15. 2.SPSS入门基础——数据录入数据管理编程规则图表可视化
  16. 机器学习(四):w·x+b模型(1)
  17. 笔记本电脑既连内网网线又连无线WiFi
  18. Basketball Dribbling
  19. UE4 Slate九 控件反射器Widget Reflector介绍
  20. antd upload和form结合使用

热门文章

  1. numpy中的savez()同时保存数组、字符串、字典数据
  2. Maven编译代码的相关命令
  3. mvc4中的 webapi 的使用方式
  4. 定义应用程序的基础--模式(Bridge-桥接,Factory-工厂)
  5. .net 面试题系列文章五(附答案)
  6. 阿里P8架构师谈:阿里双11秒杀系统如何设计?
  7. PHP源码分析-PHP的生命周期
  8. ELK+Kafka 企业日志收集平台(二)
  9. mysql分库分表实战及php代码操作完整实例
  10. PHP error:ERROR: No pool defined. at least one pool section must be specified in config file