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

     

     

     

     

  • 相关阅读:
    Unity Shader入门精要之 screen post-processing effect
    Unity---关于游戏小包的记录
    计算机基础补充之原码、反码、补码
    C#接口实现技巧之借助第三方
    lua中产生 1
    游戏文本本地化(一)
    xlua修复C#的委托事件的时候,需要提前做好配置
    xlua 实现协程替换Unity中的协程
    C#定义只能处理枚举类型的泛型类型
    C# : 泛型的继承关系实现的一个可以存放不同数据类型的链表
  • 原文地址:https://www.cnblogs.com/jazz-z/p/12714486.html
Copyright © 2011-2022 走看看