示例大纲1. excel工作簿
1.1 加密工作簿
1.2 解密工作簿
2. excel工作表
2.1 加密工作表
2.2 加密工作表指定数据范围
2.3 设置工作表公式不可见
2.4解密excel工作表
工具工具:free spire.xls for java (免费版)
注1: 可通过官网下载jar包,并解压将lib文件夹中的jar文件导入java程序;或者通过maven仓库下载安装导入。
注2:这里设置工作表保护时,可支持多种不同类型的保护(如下图),本文示例以选择其中一种为例。
java代码示例示例1加密工作簿import com.spire.xls.*;public class protectwb { public static void main(string[] args) { //加载测试文档 workbook wb = new workbook(); wb.loadfromfile("sample.xlsx"); //使用密码加密工作簿 wb.protect("123456"); //保存文档 wb.savetofile("protectworkbook.xlsx", excelversion.version2010); wb.dispose(); }}
工作簿加密结果:
示例2解密工作簿import com.spire.xls.*;public class unprotectwb { public static void main(string[] args) { //加载文档 workbook wb = new workbook(); wb.setopenpassword("123456");//源文档密码 wb.loadfromfile("protectworkbook.xlsx"); //解除密码保护 wb.unprotect(); //保存文档 wb.savetofile("unprotectwb.xlsx"); wb.dispose(); }}
运行程序,生成的工作簿文件将不再有密码保护。
示例3加密工作表import com.spire.xls.*;import java.util.enumset;public class protectsheet { public static void main(string[] args) { //加载测试文档 workbook wb = new workbook(); 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.*;import java.util.enumset;public class protectrange { public static void main(string[] args) { //加载测试文档 workbook wb = new workbook(); 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.*;import java.util.enumset;public class protectandhideformula { public static void main(string[] args) { //加载文档 workbook wb = new workbook(); 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 class unprotectsheet { public static void main(string[] args) { //加载文档 workbook wb = new workbook(); wb.loadfromfile("protectworksheet.xlsx"); //获取工作表 worksheet sheet = wb.getworksheets().get(0); //解除密码保护(需输入源文档密码) sheet.unprotect("654321"); //保存文档 wb.savetofile("unprotectsheet.xlsx",excelversion.version2010); wb.dispose(); }}
运行程序,生成的文档中,指定工作表将不再受保护。
以上就是如何使用java实现excel文件的加密和解密?的详细内容。