Load a Spreadsheet

如何在 Java 中加载电子表格

如何在 Java 中加载电子表格

Aspose.Cells FOSS for Java 允许您从文件路径或任何 java.io.InputStream 打开现有的 Excel .xlsx 工作簿。本指南展示了两种加载方式,并解释了在工作簿加载后如何访问工作表和单元格。


先决条件

要求详细信息
Java17 或更高版本 (JDK)

当前源模型中,AutoFilter API 的表面已更改;在依赖旧的成员细节之前,请查看其参考页面。 | 构建工具 | Maven 3.9+ or Gradle 8+ | | 依赖项 | org.aspose:aspose-cells-foss:26.7.0 | | 输入文件 | A valid .xlsx workbook |

添加到 pom.xml:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-cells-foss</artifactId>
  <version>26.7.0</version>
</dependency>

步骤 1 — 从文件路径加载

将绝对或相对文件路径传递给 Workbook(fileName) 构造函数:

import com.aspose.cells.foss.Workbook;

Workbook workbook = new Workbook("data/report.xlsx");
System.out.println("Loaded. Sheets: " + workbook.getWorksheets().getCount());

构造函数读取文件并将 XLSX 内容反序列化到内存中。如果文件不存在或不是有效的 XLSX,则会抛出 WorkbookLoadException。


步骤 2 — 从流加载

当文件内容来自网络连接、数据库 BLOB 或内存缓冲区时,请使用 Workbook(stream):

import com.aspose.cells.foss.Workbook;
import java.io.FileInputStream;
import java.io.InputStream;

try (InputStream is = new FileInputStream("data/report.xlsx")) {
    Workbook workbook = new Workbook(is);
    System.out.println("Loaded from stream. Sheets: " + workbook.getWorksheets().getCount());
}

始终在 try-with-resources 块中包装 InputStream,以便即使构造函数抛出异常,流也能被关闭。


步骤 3 — 使用选项加载

当需要对加载行为进行细粒度控制时,使用 Workbook(fileName, options) 或 Workbook(stream, options) 传递 LoadOptions 实例:

import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.LoadOptions;

LoadOptions opts = new LoadOptions();
// configure opts here if needed
Workbook workbook = new Workbook("data/report.xlsx", opts);

步骤 4 — 访问工作表

加载后,使用 Workbook.getWorksheets() 来遍历工作表或通过索引或名称检索特定工作表:

import com.aspose.cells.foss.WorksheetCollection;
import com.aspose.cells.foss.Worksheet;

WorksheetCollection sheets = workbook.getWorksheets();
System.out.println("Sheet count: " + sheets.getCount());

// By index
Worksheet first = sheets.get(0);
System.out.println("First sheet: " + first.getName());

// By name
Worksheet named = sheets.get("Summary");

步骤 5 — 读取单元格值

拥有 Worksheet 后,使用 getCells() 来访问各个单元格:

import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;

Cells cells = first.getCells();

// Read by cell name
Cell a1 = cells.get("A1");
System.out.println("A1 value: " + a1.getStringValue());

// Read by row/column index (0-based)
Cell b2 = cells.get(1, 1);
System.out.println("B2 value: " + b2.getValue());

步骤 6 — 释放资源

Workbook 实现了 AutoCloseable。对于大文件,请使用 try-with-resources:

try (Workbook workbook = new Workbook("data/large.xlsx")) {
    // read or modify the workbook
    workbook.save("data/output.xlsx");
}
// workbook.close() is called automatically here

后续步骤

另请参阅

 中文