溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何加密/解密Excel

發布時間:2021-11-20 13:42:18 來源:億速云 閱讀:369 作者:小新 欄目:編程語言

小編給大家分享一下Java如何加密/解密Excel,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

工具

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

注1: 可通過官網下載jar包,并解壓將lib文件夾中的jar文件導入java程序;或者通過maven倉庫下載安裝導入。

Jar導入效果:

Java如何加密/解密Excel

注2:這里設置工作表保護時,可支持多種不同類型的保護(如下圖),本文示例以選擇其中一種為例。

Java如何加密/解密Excel

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

工作簿加密結果:

Java如何加密/解密Excel

【示例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();
     }
 }

工作表加密結果:

Java如何加密/解密Excel

【示例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();
     }
 }

指定區域加密結果:

Java如何加密/解密Excel

【示例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();
     }
 }

設置公式隱藏結果:

Java如何加密/解密Excel

【示例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”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女