Excel 文档在日常工作中应用广泛,常用于整理数据,收集信息等。在操作 Excel 文档时,有时我们会遇到需要锁定某一单元格的情况,例如,当我们通过共享的 Excel 文档收集整理某种信息时,锁定标题栏单元格可以确保标题内容不会被随意修改,收集内容更加准确。接下来我就将分享使用Free Spire.XLS for Java锁定指定单元格的具体方法和相关代码。
安装 Spire.XLS.Jar
方法一:
如果您使用的是 maven,可以通过添加以下代码到项目的 pom.xml 文件中,将 JAR 文件导入到应用程序中。
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
复制代码
方法二:
如果您没有使用 maven,则可以从此链接下载 Free Spire.XLS for Java,下载完成后,将下载包进行解压;然后在 IDEA 中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“JAR 文件或路径”(JARs or Directories),找到之前解压好的文件,并将其中的 lib 文件夹下的 Spire.XLS.jar 文件导入到项目中。
锁定指定单元格的具体操作步骤:
创建 Workbook 类的实例。
使用 Workbook.loadFromFile() 方法加载 Excel 文件。
使用 Workbook.getWorksheets().get(sheetIndex) 方法获取所需的工作表。
获取工作表中使用的范围,然后使用 XlsRange.getStyle().setLocked() 方法解锁该范围内的所有单元格。
获取特定单元格,然后使用 XlsRange.getStyle().setLocked() 方法将其锁定。
使用 XlsWorksheetBase.protect() 方法保护工作表。
使用 Workbook.saveToFile() 方法保存结果文件。
相关代码:
import com.spire.xls.*;
import java.util.EnumSet;
public class LockCells {
public static void main(String []args){
//创建工作簿实例
Workbook workbook = new Workbook();
//加载Excel文档
workbook.loadFromFile("sample.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//解锁工作表已用范围内的所有单元格
CellRange usedRange = sheet.getRange();
usedRange.getStyle().setLocked(false);
//锁定特定单元格
CellRange cells = sheet.getRange().get("A2:C2");
cells.getStyle().setLocked(true);
//使用密码保护工作表
sheet.protect("666666", EnumSet.of(SheetProtectionType.All));
//保存结果文件
workbook.saveToFile("LockCells.xlsx", ExcelVersion.Version2016);
}
}
复制代码
效果图:
评论