在 microsoft excel 中,您可以锁定特定单元格让其他用户无法更改其中的数据或公式。在本文中,我们将介绍如何使用 库以编程方式在 java 中锁定 excel 中的单元格。
安装 spire.xls for java
首先,您需要在 java 程序中添加 spire.xls for java 文件作为依赖项。jar文件可以从此链接下载。如果您使用 maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 jar 文件。
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.xls
5.1.5
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 天的临时许可证。