在 Microsoft Excel 中,您可以锁定特定单元格让其他用户无法更改其中的数据或公式。在本文中,我们将介绍如何使用 Spire.XLS for Java 库以编程方式在 Java 中锁定 Excel 中的单元格。
安装 Spire.XLS for Java
首先,您需要在 Java 程序中添加 Spire.XLS for Java 文件作为依赖项。JAR文件可以从此链接下载。如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>14.12.0</version>
</dependency>
</dependencies>
Java 锁定 Excel 中的特定单元格
通常来说,工作表中所有的单元格都是默认被选中并锁定的。因此,在锁定单元格或单元格范围之前,必须解锁所有单元格。请记住,在工作表受到保护之前,锁定单元格不会生效。
以下是在 Excel 中锁定特定单元格的步骤:
- 创建 Workbook类的实例。
- 使用 Workbook.loadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.getWorksheets().get(sheetIndex) 方法获取所需的工作表。
- 获取工作表中使用的范围,然后使用 XlsRange.getStyle().setLocked() 方法解锁该范围内的所有单元格。
- 获取特定单元格,然后使用 XlsRange.getStyle().setLocked() 方法锁定它们。
- 使用 XlsWorksheetBase.protect() 方法保护工作表。
- 使用 Workbook.saveToFile() 方法保存结果文件。
- Java
import com.spire.xls.*;
import java.util.EnumSet;
public class LockCells {
public static void main(String []args){
//创建工作簿实例
Workbook workbook = new Workbook();
//加载Excel文档
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//解锁工作表已用范围内的所有单元格
CellRange usedRange = sheet.getRange();
usedRange.getStyle().setLocked(false);
//锁定特定单元格
CellRange cells = sheet.getRange().get("A1:C3");
cells.getStyle().setLocked(true);
//使用密码保护工作表
sheet.protect("123456", EnumSet.of(SheetProtectionType.All));
//保存结果文件
workbook.saveToFile("LockCells.xlsx", ExcelVersion.Version2016);
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。 获取有效期 30 天的临时许可证。