概况

通常来说,对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读取加密excel_Java 加密和解密Excel文档相关推荐

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

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

  2. java 加密word_Java 加密和解密Excel文档

    概况 通常来说,对Excel文档进行保护的方法有保护整个工作簿或指定的工作表,以及标记最终状态,设置用户可以编辑区域等.本文将使用Free Spire.XLS for Java来演示如何给Excel工 ...

  3. java后台代码添加超链接_Java 实现Excel文档添加超链接的代码

    超链接即内容链接,通过给特定对象设置超链接,可实现载体与特定网页.文件.邮件.网络等的链接,点击链接载体可打开链接目标,在文档处理中是一种比较常用的功能.本文将介绍通过Java程序给Excel文档添加 ...

  4. Java 实现数据库数据 导入 导出成Excel文档的功能

    1.创建导入 导出工具类,写入其导入和导出方法 导出成外部文件: public static ResponseEntity<byte[]> emp2Excel(List<Emp> ...

  5. java基于easypoi实现对导出的excel文档加密

    **项目背景 随着项目日新月异的变化,对数据的安全性也越来越高,特别是政府类型的项目,数据安全往往是非常重要的,最近项目中导出的文件被要求需要密码才能打开,所以写下这篇文章,特此记录一下. 文章目录 ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 并查集板子:acwing836. 合并集合
  2. opengl坐标转换
  3. 魅族魅蓝mirror简单打开usb调试模式的步骤
  4. annotations_Spring Annotations我从来没有机会使用第2部分:@ConfigurationProperties
  5. 漫步线性代数二十六——特征值和特征向量(续)
  6. python autoitlibrary_AutoItLibrary
  7. mysql root账号_修改mysql root账号密码
  8. C++_函数_函数重载注意事项_---C++语言工作笔记035
  9. javascript中ajax的优缺点
  10. Python 脚本 pyautogui——实现键盘鼠标的自动操作
  11. libcrypto yum 安装_centos7下nginx 报错需要安装 libcrypto.so.10(OPENSSL_1.0.2)(64bit)
  12. opencv打开摄像头
  13. matlab状态反馈控制器设计,H无穷的状态反馈控制器设计
  14. STL库和Boost库
  15. python怎么用到微信,用Python完转微信
  16. springboot Basic Auth 暴露API 访问认证
  17. JAVA流浪猫狗救助平台
  18. https 以及内网如何使用
  19. 冰刃-删除顽固文件的利器!
  20. 详解u盘装系统启动不了怎么办

热门文章

  1. 与64位版本的Windows不兼容,masm运行不了
  2. 下列属于mysql流程控制的是什么_下面选项中,不属于MySQL中流程控制语句的有...
  3. 14-父子组件通讯,父传子(props)
  4. webrtc 研究-带宽控制
  5. rockchip 瑞芯微 SDK 一些解释
  6. java 跳转url_URL跳转的几种方式
  7. Springboot(大总结)
  8. 传智播客学习日记Day9
  9. List<? extends T>和List<? super T>之间的区别
  10. 《android开发艺术探索》笔记:Activity界面跳转到透明主题界面,不调用onStop()方法