概述
設定excel檔案保護時,通常可選擇對整個工作簿進行加密保護,開啟檔案時需要輸入密碼;或對指定工作表進行加密,即設定表格內容唯讀,無法對工作表進行編輯。另外,也可以對工作表特定區域設定保護,也就是設定指定區域可編輯或隱藏資料公式,保護資料資訊來源。無需設定文件保護時,可撤銷密碼保護,即解密文件。
範例大綱
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:這裡設定工作表保護時,可支援多種不同類型的保護(如下圖),本文範例以選擇其中一種為例。
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();
}
}
工作簿加密結果:
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();
}
}
工作表加密結果:
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();
}
}
指定區域加密結果:
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();
}
}
設定公式隱藏結果:
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檔案的加密和解密?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章给大家带来了关于excel的相关知识,其中主要介绍了关于折叠表格的相关问题,就是分类汇总的功能,这样查看数据会非常的方便,下面一起来看一下,希望对大家有帮助。

在之前的文章《实用Excel技巧分享:利用 数据透视表 来汇总业绩》中,我们学习了下Excel数据透视表,了解了利用数据透视表来汇总业绩的方法。而今天我们来聊聊怎么计算时间差(年数差、月数差、周数差),希望对大家有所帮助!

本篇文章给大家带来了关于excel的相关知识,其中主要介绍了关于AGGREGATE函数的相关内容,该函数用法与SUBTOTAL函数类似,但在功能上比SUBTOTAL函数更加强大,下面一起来看一下,希望对大家有帮助。

在之前的文章《实用Word技巧分享:聊聊你没用过的“行号”功能》中,我们了解了Word中你肯定没用过的"行号”功能。今天继续实用Word技巧分享,看看Excel表格怎么借用Word进行分栏打印,快来收藏使用吧!

本篇文章给大家带来了关于excel的相关知识,其中主要介绍了关于zenmm制作倒计时牌的相关内容,使用Excel中的日期函数结合按指定时间刷新的VBA代码,即可制作出倒计时牌,下面一起来看一下,希望对大家有帮助。

在之前的文章《实用Excel技巧分享:原来“定位功能”这么有用!》中,我们了解了定位功能的妙用。而今天我们聊聊合并后的单元格如何实现筛选功能,分享一种复制粘贴和方法解决这个问题,另外还会给大家分享一种合并单元格的不错的替代方式。

本篇文章给大家带来了关于excel的相关知识,其中主要介绍了关于如何使用函数寻找总和为某个值的组合的问题,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于excel的相关知识,其中主要介绍了关于折线图的相关问题,下面就根据一些示例来看一下怎么去应用,希望对大家有帮助。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版