出於安全原因,你可能需要保護整個工作簿或工作表。 有時,你甚至可能還需要保護某個工作表,但卻保留指定的單元格進行編輯。 本文將介紹如何使用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); } }