当我们在查看数据比较多的Excel工作表时,冻结窗口能够帮助我们固定指定的行或列,被冻结住的窗口将不会随着其他单元格的移动而移动,十分方便我们查看和对比数据。该文将介绍如何使用Free Spire.XLS for Java在Excel文档中冻结首行/首列、同时冻结多行多列,以及如何解除冻结。
基本步骤:
1. 下载Free Spire.XLS for Java包并解压缩,然后将lib文件夹下的Spire.Xls.jar包作为依赖项导入到Java应用程序中。(也可直接通过Maven仓库安装JAR包(配置pom.xml文件的代码见下文))
2. 在Java应用程序中新建一个Java Class, 然后输入相应的Java代码并运行。
配置pom.xml文件:
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-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 FreezeFirstRow {
public static void main(String[] args) {
//加载示例文档
Workbook workbook = new Workbook();
workbook.loadFromFile("grades.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//冻结首行
sheet.freezePanes(2,1);
//保存文档
workbook.saveToFile("FreezeFirstRow.xlsx", ExcelVersion.Version2010);
}
}
冻结首列
import com.spire.xls.*;
public class FreezeFirstColumn {
public static void main(String[] args) {
//加载示例文档
Workbook workbook = new Workbook();
workbook.loadFromFile("grades.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//冻结首列
sheet.freezePanes(1, 2);
//保存文档
workbook.saveToFile("FreezeFirstColumn.xlsx", ExcelVersion.Version2016);
}
}
同时冻结多行多列
import com.spire.xls.*;
public class FreezePane {
public static void main(String[] args) {
//创建Workbook对象
Workbook workbook = new Workbook();
//加载一个示例文档
workbook.loadFromFile("grades.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//冻结前两行两列
sheet.freezePanes(3, 3);
//保存文档
workbook.saveToFile("FreezePanes.xlsx", ExcelVersion.Version2016);
}
}
解除冻结
import com.spire.xls.*;
public class UnfreezePanes {
public static void main(String[] args) {
//创建Workbook对象
Workbook workbook = new Workbook();
//加载一个示例文档
workbook.loadFromFile("grades.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//取消冻结窗口
sheet.removePanes();
//保存文档
workbook.saveToFile("UnfreezePanes.xlsx", ExcelVersion.Version2016);
}
}