出于安全原因,你可能需要保护整个工作簿或工作表。 有时,你甚至可能还需要保护某个工作表,但却保留指定的单元格进行编辑。 本文将介绍如何使用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); } }