zoukankan      html  css  js  c++  java
  • 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);
        }
    }

     

     

     

     

  • 相关阅读:
    C# 操作Excel,使用EPPlus
    结构型设计模式之代理模式(Proxy)
    结构型设计模式之组合模式(Composite)
    结构型设计模式之桥接模式(Bridge)
    C#操作windows事件日志项
    C#操作XML序列化与反序列化
    日志组件Log4Net
    UI Automation 简介
    Selenium
    Selenium
  • 原文地址:https://www.cnblogs.com/jazz-z/p/12714486.html
Copyright © 2011-2022 走看看