最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)Excel文件加密解密的示例代碼

 更新時間:2022年05月31日 11:21:42   作者:E-iceblue  
設(shè)置excel文件保護(hù)時,通常可選擇對整個工作簿進(jìn)行加密保護(hù)。無需設(shè)置文檔保護(hù)時,可撤銷密碼保護(hù),即解密文檔。本文將通過java程序演示以上加密、解密方法的實現(xiàn),感興趣的可以了解一下

概述

設(shè)置excel文件保護(hù)時,通??蛇x擇對整個工作簿進(jìn)行加密保護(hù),打開文件時需要輸入密碼;或者對指定工作表進(jìn)行加密,即設(shè)置表格內(nèi)容只讀,無法對工作表進(jìn)行編輯。另外,也可以對工作表特定區(qū)域設(shè)置保護(hù),即設(shè)置指定區(qū)域可編輯或者隱藏數(shù)據(jù)公式,保護(hù)數(shù)據(jù)信息來源。無需設(shè)置文檔保護(hù)時,可撤銷密碼保護(hù),即解密文檔。下面,將通過java程序演示以上加密、解密方法的實現(xiàn)。

示例大綱

1. Excel工作簿

 1.1 加密工作簿

 1.2 解密工作簿

2. Excel工作表

 2.1 加密工作表

 2.2 加密工作表指定數(shù)據(jù)范圍

 2.3 設(shè)置工作表公式不可見

 2.4解密Excel工作表

工具

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

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

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

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

工作簿加密結(jié)果:

示例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");

        //解除密碼保護(hù)
        wb.unProtect();

        //保存文檔
        wb.saveToFile("UnprotectWb.xlsx");
        wb.dispose();
    }
}

運行程序,生成的工作簿文件將不再有密碼保護(hù)。

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

        //使用密碼加密保護(hù)
        sheet.protect("654321", EnumSet.of(SheetProtectionType.All));

        //保存文檔
        wb.saveToFile("ProtectWorksheet.xlsx", ExcelVersion.Version2010);
        wb.dispose();
    }
}

工作表加密結(jié)果:

示例4加密工作表指定數(shù)據(jù)范圍

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));
        //指定可編輯的區(qū)域
        sheet.addAllowEditRange("AllowEdit",sheet.getCellRange(3,1,11,8));

        //保存文檔
        wb.saveToFile("ProtectRange.xlsx", ExcelVersion.Version2010);
        wb.dispose();
    }
}

指定區(qū)域加密結(jié)果:

示例5設(shè)置工作表公式隱藏

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

        //設(shè)置加密
        sheet.protect("123", EnumSet.of(SheetProtectionType.All));
        //隱藏公式
        sheet.getAllocatedRange().isFormulaHidden(true);

        //保存文檔
        wb.saveToFile("HideFormula.xlsx",FileFormat.Version2010);
        wb.dispose();
    }
}

設(shè)置公式隱藏結(jié)果:

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

        //解除密碼保護(hù)(需輸入源文檔密碼)
        sheet.unprotect("654321");

        //保存文檔
        wb.saveToFile("UnprotectSheet.xlsx",ExcelVersion.Version2010);
        wb.dispose();
    }
}

運行程序,生成的文檔中,指定工作表將不再受保護(hù)。

到此這篇關(guān)于Java實現(xiàn)Excel文件加密解密的示例代碼的文章就介紹到這了,更多相關(guān)Java Excel加密解密內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring Cloud 專題之Sleuth 服務(wù)跟蹤實現(xiàn)方法

    Spring Cloud 專題之Sleuth 服務(wù)跟蹤實現(xiàn)方法

    這篇文章主要介紹了Spring Cloud 專題之Sleuth 服務(wù)跟蹤,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 詳解spring boot集成ehcache 2.x 用于hibernate二級緩存

    詳解spring boot集成ehcache 2.x 用于hibernate二級緩存

    本篇文章主要介紹了詳解spring boot集成ehcache 2.x 用于hibernate二級緩存,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 如何用Java結(jié)合經(jīng)緯度位置計算目標(biāo)點的日出日落時間詳解

    如何用Java結(jié)合經(jīng)緯度位置計算目標(biāo)點的日出日落時間詳解

    這篇文章主詳細(xì)講解了如何基于目標(biāo)點的經(jīng)緯度計算日出日落時間,提供了在線API和Java庫兩種計算方法,并通過實際案例展示了其應(yīng)用,需要的朋友可以參考下
    2025-01-01
  • Spring boot整合security詳解

    Spring boot整合security詳解

    Spring Security是一個功能強大且高度可定制的身份驗證和訪問控制框架,本文主要介紹了SpringBoot整合Security安全框架的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Springboot框架整合添加redis緩存功能

    Springboot框架整合添加redis緩存功能

    緩存就是一個存儲器,在技術(shù)選型中,常用?Redis?作為緩存數(shù)據(jù)庫。緩存主要是在獲取資源方便性能優(yōu)化的關(guān)鍵方面。Redis?是一個高性能的?key-value?數(shù)據(jù)庫,接下來通過本文給大家介紹Springboot框架整合添加redis緩存功能,感興趣的朋友一起看看吧
    2021-11-11
  • 詳解java之redis篇(spring-data-redis整合)

    詳解java之redis篇(spring-data-redis整合)

    本篇文章主要介紹了java之redis篇,主要詳細(xì)的介紹了spring-data-redis整合,有興趣的可以了解一下。
    2017-01-01
  • SpringBoot Actuator埋點和監(jiān)控及簡單使用

    SpringBoot Actuator埋點和監(jiān)控及簡單使用

    最近做的項目涉及到埋點監(jiān)控、報表、日志分析的相關(guān)知識,于是搗鼓的一番,下面把涉及的知識點及SpringBoot Actuator埋點和監(jiān)控的簡單用法,給大家分享下,感興趣的朋友一起看看吧
    2021-11-11
  • IDEA安裝lombok插件設(shè)置Enable Annotation Processing后編譯依然報錯解決方法

    IDEA安裝lombok插件設(shè)置Enable Annotation Processing后編譯依然報錯解決方法

    這篇文章主要介紹了IDEA安裝lombok插件設(shè)置Enable Annotation Processing后編譯依然報錯解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Java與前端交互出現(xiàn)跨域問題的14種解決方案

    Java與前端交互出現(xiàn)跨域問題的14種解決方案

    跨域問題是前端與后端分離開發(fā)中的常見挑戰(zhàn),這篇文章為大家整理了14個常見的解決方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-04-04
  • Java使用MyBatis框架分頁的5種方式

    Java使用MyBatis框架分頁的5種方式

    這篇文章主要為大家詳細(xì)介紹了Java使用MyBatis框架分頁的5種方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08

最新評論

合川市| 双辽市| 侯马市| 岑溪市| 阜城县| 当雄县| 乌兰浩特市| 黄骅市| 永川市| 玛曲县| 米林县| 江陵县| 黄龙县| 南开区| 麦盖提县| 饶平县| 社旗县| 安陆市| 定西市| 涡阳县| 长宁县| 琼海市| 博客| 鸡泽县| 遵义市| 兰西县| 通渭县| 济宁市| 贡觉县| 同江市| 灌云县| 河南省| 湟中县| 巴彦县| 金沙县| 融水| 安宁市| 抚顺市| 营口市| 安仁县| 庆阳市|