出于安全原因,你可能需要保护整个工作簿或工作表。 有时,你甚至可能还需要保护某个工作表,但却保留指定的单元格进行编辑。 本文将介绍如何使用Free Spire.XLS for Java来实现这些操作。
https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-JAVA.html
<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);
}
}