概述

设置excel文件保护时,通常可选择对整个工作簿进行加密保护,打开文件时需要输入密码;或者对指定工作表进行加密,即设置表格内容只读,无法对工作表进行编辑。另外,也可以对工作表特定区域设置保护,即设置指定区域可编辑或者隐藏数据公式,保护数据信息来源。无需设置文档保护时,可撤销密码保护,即解密文档。下面,将通过java程序演示以上加密、解密方法的实现。

示例大纲

1. Excel工作簿

1.1 加密工作簿

1.2 解密工作簿

2. Excel工作表

2.1 加密工作表

2.2 加密工作表指定数据范围

2.3 设置工作表公式不可见

2.4解密Excel工作表

工具

工具:Free Spire.XLS for Java (免费版)

注1: 可通过

注2:这里设置工作表保护时,可支持多种不同类型的保护(如下图),本文示例以选择其中一种为例。

Java代码示例

【示例1】加密工作簿

import com.spire.xls.*;public classProtectWb {public static voidmain(String[] args) {//加载测试文档

Workbook wb = newWorkbook();

wb.loadFromFile("sample.xlsx");//使用密码加密工作簿

wb.protect("123456");//保存文档

wb.saveToFile("ProtectWorkbook.xlsx", ExcelVersion.Version2010);

wb.dispose();

}

}

工作簿加密结果:

【示例2】解密工作簿

import com.spire.xls.*;public classUnprotectWb {public static voidmain(String[] args) {//加载文档

Workbook wb = newWorkbook();

wb.setOpenPassword("123456");//源文档密码

wb.loadFromFile("ProtectWorkbook.xlsx");//解除密码保护

wb.unProtect();//保存文档

wb.saveToFile("UnprotectWb.xlsx");

wb.dispose();

}

}

运行程序,生成的工作簿文件将不再有密码保护。

【示例3】加密工作表

import com.spire.xls.*;importjava.util.EnumSet;public classProtectSheet {public static voidmain(String[] args) {//加载测试文档

Workbook wb = newWorkbook();

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();

}

}

工作表加密结果:

【示例4】加密工作表指定数据范围

import com.spire.xls.*;importjava.util.EnumSet;public classProtectRange {public static voidmain(String[] args) {//加载测试文档

Workbook wb = newWorkbook();

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();

}

}

指定区域加密结果:

【示例5】设置工作表公式隐藏

import com.spire.xls.*;importjava.util.EnumSet;public classProtectAndHideFormula {public static voidmain(String[] args) {//加载文档

Workbook wb = newWorkbook();

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();

}

}

设置公式隐藏结果:

【示例6】解密Excel工作表

import com.spire.xls.*;public classUnprotectSheet {public static voidmain(String[] args) {//加载文档

Workbook wb = newWorkbook();

wb.loadFromFile("ProtectWorksheet.xlsx");//获取工作表

Worksheet sheet = wb.getWorksheets().get(0);//解除密码保护(需输入源文档密码)

sheet.unprotect("654321");//保存文档

wb.saveToFile("UnprotectSheet.xlsx",ExcelVersion.Version2010);

wb.dispose();

}

}

运行程序,生成的文档中,指定工作表将不再受保护。

(本文完)

java excel 加密_Java 加密/解密Excel相关推荐

  1. delphi7aes加密解密与java互转_Java 加密/解密Excel

    概述 设置excel文件保护时,通常可选择对整个工作簿进行加密保护,打开文件时需要输入密码:或者对指定工作表进行加密,即设置表格内容只读,无法对工作表进行编辑.另外,也可以对工作表特定区域设置保护,即 ...

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

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

  3. java 读取excel模板_java如何读取excel表格的信息,java读取excel模板

    java如何读取excel表格的信息Java如何读取excel表格的信息,用java读取excel表格信息的方法:1.pass [workbook.getworkbook(新文件(' e ://exc ...

  4. java对excel加密_java poi对Excel文件加密

    @SuppressWarnings("deprecation") @Override public InputStream exportItemProjectExcel(List ...

  5. java word 加密_java 加密解密WORD文档

    对一些重要文档,我们为保证其文档内容不被泄露,常需要对文件进行加密,查看文件时,需要正确输入密码才能打开文件.下面介绍了一种比较简单的方法给Word文件添加密码保护以及如何给已加密的Word文件取消密 ...

  6. java pgp 加密_java – 如何解密签名的pgp加密文件?

    如何使用BouncyCastle Java API解密和验证使用PGP加密的文件? 解决方法: 加密代码: private static void encryptFile(OutputStream o ...

  7. java des对称加密_JAVA加密解密DES对称加密算法

    1 下面用DES对称加密算法(设定一个密钥,然后对所有的数据进行加密)来简单举个例子.2 3 首先,生成一个密钥KEY.4 我把它保存到key.txt中.这个文件就象是一把钥匙.谁拥有它,谁就能解开我 ...

  8. java导出excel压缩包_java动态导出excel压缩成zip下载的方法

    本文实例为大家分享了java动态导出excel压缩成zip下载的具体代码,供大家参考,具体内容如下 package pack.java.io.demo; import java.io.Buffered ...

  9. java 打开服务器excel文件_Java中上传excel文件并在服务器端读取存入数据库

    传excel文件并在服务器端读取存入数据库 博客分类: struts2 Excel JSP XML 工作 Java代码 页面jsp文件 action处理:publicclassManyContacts ...

  10. Java excel 比较_java 实现两excel(或csv)文件的比对(以某几列作为键值,比对指定列的值差异)...

    [实例简介] Main为启动类,现在只是将比对差异的内容输出到控制台 搭建项目时,记得将lib文件夹下面的jar添加到classpath中 [实例截图] [核心代码] CompareExcel └── ...

最新文章

  1. 神经网络七十年:回顾与展望
  2. java锁的有哪些_「并发编程」Java锁分类和特点有哪些
  3. 网络编程学习笔记(服务器端进程终止)
  4. 全排列递归实现的讨论
  5. 戏说云栖,如果这些名人参加云栖大会。。。
  6. STM32之JScope调试
  7. 大数据之_SCALA工作笔记001---Centos7.3安装scala
  8. android 多行排列,安卓简单布局样例_采用LinearLayout实现多列多行展示
  9. 知乎热议的Deep Peak2模型究竟是什么?答案都在这里
  10. JVisualVM 简介
  11. 融云php sdk下载安装,Laravel框架使用融云服务端SDK
  12. 【转】移动,电信,中行软开,微软,百度等企业工作纯技术性分析
  13. 今日头条android+x86,GitHub - teajoyus/TouTiao: 今日头条 For Android
  14. Windows XP 下载与安装-怀念过去
  15. 分享:STC-51激光雕刻机项目(免费完整资料)
  16. Jboot初遇activiti
  17. 运放电路中何时加入偏置电流补偿电阻-运算放大器
  18. 【IoC 和 DI 有什么区别】
  19. java 反射为何耗性能_Java反射的性能成本
  20. 2050热身赛 1001 赶火车

热门文章

  1. Dynamics CRM 为案例起源设置自定义图标
  2. 程序人生之项目团队那些人与事(1)
  3. FIL带给IPFS的创新
  4. 基于android的手机选课系统的实现
  5. 【转贴】常识普及:广府人是越佬族
  6. 格式塔理论的四个原则_使用格式塔理论改善用户体验
  7. 奶瓶(beini) 又一蹭网神器 1.2.2增强版带600万密码字典
  8. 苹果4如何添加时间插件_iPhone如何添加输入法?苹果手机怎样添加手写输入?...
  9. 内存溢出(OutOfMemoryError)与栈溢出(StackOverflowError)
  10. jquery 漂浮广告