Java助力加固Excel文件,保障数据安全
前言
Excel文件保护是常用的一种功能,文件保护主要有三种:
- 添加密码,如果没有密码不允许打开文件。
- 添加密码,如果没有密码,不能修改文件,但可以打开,只读以及另存文件。
- 只读推荐,通常推荐打开Excel文件的用户使用只读模式打开,这种方式仅是一种提示,并非强行保护文件。
给Excel添加保护
情况1:
下面的代码将展示如何打开名为 "test.xlsx" 的 Excel 文件,并将其另存为 "password.xlsx"。在保存时,使用 XlsxSaveOptions 对象将密码设置为 "123456",以确保数据的安全性。
Workbook wb = new Workbook();
wb.open("test.xlsx");
XlsxSaveOptions options = new XlsxSaveOptions();
options.setPassword("123456");
wb.save("password.xlsx", options);
情况2:
与情况1一样,打开test.xlsx文件,并添加只读型密码,同时修改密码设置人的信息。
Workbook wb = new Workbook();
wb.open("resources/test.xlsx");
wb.getWriteProtection().setWritePassword("123456");
wb.getWriteProtection().setWriteReservedBy("J123");
wb.save("output/readOnlyByPassword.xlsx");
打开“readOnlyByPassword.xlsx”时,可以看到下图:
情况3:
添加一个推荐只读的设置给readonly.xlsx文件。
Workbook wb = new Workbook();
wb.open("test.xlsx");
wb.getWriteProtection().setReadOnlyRecommended(true);
wb.save("output/readonly.xlsx");
给Excel解除保护
情况1:
移除Excel文件的密码,代码如下。
Workbook wb = new Workbook();
wb.open("output/password.xlsx", "123456");
wb.unprotect("123456");
wb.save("output/passwordUn.xlsx");
情况2:
移除Readonly写保护。
Workbook wb = new Workbook();
XlsxOpenOptions option = new XlsxOpenOptions();
option.setPassword("123456");
wb.open("output/readOnlyByPassword.xlsx", option);
wb.getWriteProtection().setWritePassword(null);
wb.save("output/readOnlyByPasswordUn.xlsx");
情况3:
移除Readonly推荐设置
Workbook wb = new Workbook();
wb.open("resources/ErrorData.xlsx");
wb.getWriteProtection().setReadOnlyRecommended(false);
wb.save("output/readonlyUn.xlsx");
总结
Java提供了一种方便而可靠的方法,可以为Excel文件添加保护以确保数据的安全性和完整性。通过这些工具,可以轻松地创建、编辑和保护Excel文件,并将其保存到本地磁盘或其他存储设备中,除此之外,如果您对我们的产品GcExcel感兴趣的话可以访问官网了解更多详细信息。
扩展链接:
Java助力加固Excel文件,保障数据安全的更多相关文章
- java上传excel文件及解析
java上传excel文件及解析 CreateTime--2018年3月5日16:25:14 Author:Marydon 一.准备工作 1.1 文件上传插件:swfupload: 1.2 文件上 ...
- java项目中Excel文件的导入导出
package poi.excel; import java.io.IOException; import java.io.InputStream; import java.io.OutputStre ...
- java项目中Excel文件预览
package com.linkonworks.df.busi.utils; import java.io.File; import java.io.FileInputStream; import j ...
- java批量生成excel文件
1.导入用于操作excel的jar,地址:https://pan.baidu.com/s/1qXADRlU 2.生成excel使用的模版文件,地址:https://pan.baidu.com/s/1c ...
- Java——jxl读取Excel文件
1.创建文件流,打开EXCEL文件(jxi不支持.xlsx文件,支持.xls) FileInputStream excelFile = new FileInputStream(excelPath); ...
- Java——poi读取Excel文件
1.创建文件流,打开EXCEL文件 FileInputStream excelFile = new FileInputStream(excelPath); XSSFWorkbook workbook ...
- java - 读取,导出 excel文件数据
首先需下载poi java包,添加至构建路径, 写处理方法: import java.io.FileInputStream;import java.io.FileOutputStream;import ...
- java代码将excel文件中的内容列表转换成JS文件输出
思路分析 我们想要把excel文件中的内容转为其他形式的文件输出,肯定需要分两步走: 1.把excel文件中的内容读出来: 2.将内容写到新的文件中. 举例 一张excel表中有一个表格: 我们需要将 ...
- java 实现导出Excel文件
java 实现导出Excel(java生成 excel 并导出文件) 经常有有一些数据需要导出成 excel 格式 ,所以就需要实现啦 开始: 1.加入jar poi-3.6-20091214. ...
- java如何导入Excel文件
Java使用POI导入Excel文件,操作起来比较简单,支持xlsx格式. 下载POI资源包 从官网https://poi.apache.org/下载POI,笔者选择的是版本是3.17,下载后文件名是 ...
随机推荐
- Python使用HTMLTestRunner运行所有用例并产生报告
#coding:utf-8import unittestimport osimport sysimport HTMLTestRunnercase_path = os.path.join(os.path ...
- 适合IT团队的在线文档私人分享工具——showdoc部署
转载文章: https://www.lixian.fun/3617.html
- three.js教程8-渲染器WebGLRenderer和前端UI界面
1.html的UI交互界面与Canvas画布叠加 需求:把threejs Cavnas画布和HTML元素叠加布局,在canvas上添加按钮,通过按钮点击修改canvas场景. // canvas画布绝 ...
- apisix~自定义插件的部署
参考 https://docs.api7.ai/apisix/how-to-guide/custom-plugins/create-plugin-in-lua https://apisix.apach ...
- AIRIOT物联网低代码平台如何配置OPC DA驱动?
AIRIOT物联网低代码平台提供了丰富的驱动,兼容了市面上95%以上的传感器.控制器及数据采集设备等,并且在持续增加中,能够快速.便捷地实现数据采集与控制功能. AIRIOT物联网低代码平台如何配置O ...
- python openstacksdk
调用方法 参考地址 https://github.com/openstack/openstacksdk 注意事项 1.需要安装openstacksdk.我这里装的好像是1.5版本的.opentask接 ...
- CentOS搭建Jellyfin影音服务器
一. 安装Jellyfin 之前介绍过Docker安装jellyfin,但Docker安装方式存在一些限制,于是一起学习一下用RPM包在CentOS 7下安装方法. 先安装需要的依赖: yum ins ...
- MyBatis缓存模块源码分析
优秀的ORM框架都应该提供缓存机制,MyBatis也不例外,在org.apache.ibatis.cache包下面定义了MyBatis缓存的核心模块,需要注意的是这个包中只是MyBatis缓存的核心实 ...
- SpringMVC在处理Ajax请求后返回void导致前台Ajax回调函数不执行
问题简述 在一次SpringMVC项目中,前台通过Ajax请求,准备修改数据库中的数据.因为Ajax请求只是让后台更改数据,所以Controller方法根本不需要返回给前台任何数据,所以我们将Cont ...
- Abp vNext框架 基础知识 依赖注入
依赖注入 ABP的依赖注入系统是基于Microsoft的依赖注入扩展库(Microsoft.Extensions.DependencyInjection nuget包)开发的.因此,它的文档在ABP中 ...