加密Excel通常有三种方式:保护文档、仅加密其中某个工作表、锁定某些单元格不能编辑。我使用了Spire.XLS for Java类库分别实现了以上三种加密方式。提供以下代码供参考。

保护文档import com.spire.xls.*;

public class EncryptWorkbook {

public static void main(String[] args) {

//加载示例文档

Workbook workbook = new Workbook();

workbook.loadFromFile("Sample.xlsx");

//使用密码加密保护

workbook.protect("eiceblue");

//保存文档

workbook.saveToFile("output/EncryptWorkbook.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("TestPassword", EnumSet.of(SheetProtectionType.All));

//保存文档

workbook.saveToFile("output/ProtectWorksheet.xlsx", ExcelVersion.Version2010);

}

}

锁定某些区域不可编辑import com.spire.xls.*;

import java.util.EnumSet;

public class ProtectCell {

public static void main(String[] args) {

//加载示例文档

Workbook workbook = new Workbook();

workbook.loadFromFile("Sample.xlsx");

//获取第一个工作表

Worksheet sheet = workbook.getWorksheets().get(0);

//保护行与列

sheet.getCellRange("B3").getCellStyle().setLocked(true);

sheet.getCellRange("C3").getCellStyle().setLocked(false);

//密码加密保护工作表

sheet.protect("TestPassword", EnumSet.of(SheetProtectionType.All));

//保存文档

workbook.saveToFile("output/ProtectCell.xlsx", ExcelVersion.Version2010);

}

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐