在处理 Excel 文件时,除了常见的数据读写操作,有时还需要进一步控制 Excel 文件在打开时的显示状态。例如,当用户打开一个包含多个工作表的 Excel 报表时,你可能希望它默认显示某个特定的工作表,或自动将光标定位到某个关键单元格,从而帮助用户更快地查看重点数据或进行编辑操作,提升文件的可读性和用户体验。
E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化 ,帮助企业高效构建文档处理的应用程序。本教程将介绍如何使用 Java 和 ++Spire.XLS for Java++ 库设置 Excel 文件中的活动工作表和活动单元格。
安装 Spire.XLS for Java
首先,您需要将 Spire.Xls.jar 文件作为依赖项添加到您的 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>15.4.0</version>
</dependency>
</dependencies>
Java设置Excel活动工作表
Spire.XLS for Java 提供了 Worksheet.activate() 方法,可以将Excel文件中的任意一个工作表设置为 "活动工作表" 。设置完成后,该工作表将在打开文件时自动显示,无需用户手动切换。具体步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.loadFromFile() 方法加载Excel 文件。
- 通过 Workbook.getWorksheets().get() 方法获取目标工作表。
- 使用 Worksheet.activate() 方法将该工作表设置为活动工作表。
- 使用 Workbook.saveToFile() 方法保存结果文件。
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ActivateWorksheet {
public static void main(String[] args) {
// 创建Workbook类的实例
Workbook workbook = new Workbook();
// 加载Excel文件
workbook.loadFromFile("示例.xlsx");
// 获取第二个工作表
Worksheet sheet = workbook.getWorksheets().get(1);
// 将该工作表设置为活动工作表
sheet.activate();
// 保存结果文件
workbook.saveToFile("设置活动工作表.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
打开结果文档,Excel 主窗口将显示第二个工作表:

Java设置Excel活动单元格
除了设置活动工作表外,还可以通过调用 CellRange.active() 方法,进一步将该工作表中的某个特定单元格设为当前活动单元格。这样,当用户打开 Excel 文件时,光标会自动定位在该单元格上。具体步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.loadFromFile() 方法加载Excel 文件。
- 通过 Workbook.getWorksheets().get() 方法获取目标工作表。
- 使用 Worksheet.activate() 方法将该工作表设置为活动工作表。
- 使用 Worksheet.getCellRange() 方法获取目标单元格。
- 使用 CellRange.active() 方法将该单元格设置为活动单元格。
- 使用 Workbook.saveToFile() 方法保存结果文件。
import com.spire.xls.CellRange;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ActivateCell {
public static void main(String[] args) {
// 创建Workbook类的实例
Workbook workbook = new Workbook();
// 加载Excel文件
workbook.loadFromFile("示例.xlsx");
// 获取第二个工作表
Worksheet sheet = workbook.getWorksheets().get(1);
// 将该工作表设置为活动工作表
sheet.activate();
// 获取该工作表中的特定单元格
CellRange cell = sheet.getCellRange("G26");
// 将该单元格设置为活动单元格
cell.activate();
// 保存结果文件
workbook.saveToFile("设置活动单元格.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
打开结果文档,光标将自动定位在第二个工作表的G26单元格:
