Java 保護Excel 工作簿和工作表


出於安全原因,可能需要保護整個工作簿或工作表。 有時,你甚至可能需要保護某個工作表,但保留指定的單元格進行編輯。 本文將介紹如何使用Free Spire.XLS for Java實現這些操作

 

Spire.Xls.jar 添加為依賴項

方法1:下載Free Spire.XLS for Java包並解壓縮,然后從lib文件夾下,Spire.Xls.jar包作為依賴項添加Java應用程序中。

 

方法2:如果要使用Maven,通過將以下配置添加到pom.xml文件中,就可以輕松將JAR包安裝到的你的Maven項目中

 

<repositories>
  <repository>
    <id>com.e-iceblue</id>
    <name>e-iceblue</name>
    <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
  </repository>
</repositories>
<dependencies>
  <dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.xls.free</artifactId>
    <version>2.2.0</version>
  </dependency>
</dependencies>

 

保護工作簿

import com.spire.xls.*;

public class EncryptWorkbook {
    public static void main(String[] args) {
        //加載示例文檔
        Workbook workbook = new Workbook();
        workbook.loadFromFile("Sample.xlsx");

        //使用密碼加密保護
        workbook.protect("abc123");

        //保存文檔
        workbook.saveToFile("保護工作簿.xlsx", ExcelVersion.Version2010);

    }
}

 

保護工作表

import com.spire.xls.*;
import java.util.EnumSet;
public class ProtectWorksheet { public static void main(String[] args) { //加載示例文檔 Workbook workbook = new Workbook(); workbook.loadFromFile("Sample.xlsx"); //獲取第一個工作表 Worksheet sheet = workbook.getWorksheets().get(0); //使用密碼加密保護 sheet.protect("abc123", EnumSet.of(SheetProtectionType.All)); //保存文檔 workbook.saveToFile("保護工作表.xlsx", ExcelVersion.Version2010); } }

 

 

保護工作表但解鎖某些單元格范圍

import com.spire.xls.*;
import java.util.EnumSet;

public class UnlockCell {
    public static void main(String[] args) {
        //加載示例文檔
        Workbook workbook = new Workbook();
        workbook.loadFromFile("Sample.xlsx");

        //獲取第一個工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //密碼加密保護工作表
        sheet.protect("abc123", EnumSet.of(SheetProtectionType.All));

        //解鎖某些單元格
        sheet.getCellRange("A2:B11").getCellStyle().setLocked(false);

        //保存文檔
        workbook.saveToFile("解鎖單元格.xlsx", ExcelVersion.Version2016);
    }
}

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM