如何使用 GroupDocs.Parser for Java 解析 Excel – 指南

在当今以数据为中心的应用中,如何解析 Excel 文件的效率往往决定工作流的成败。无论是迁移遗留数据、生成自动化报告,还是将原始文本输入分析管道,从每个工作表中提取未格式化的文本都是常见需求。本教程将手把手演示如何使用 GroupDocs.Parser for Java 解析 Excel 文件、读取 Excel 工作表文本,并以最少的代码获取原始内容。

快速答案

  • 哪个库负责在 Java 中解析 Excel? GroupDocs.Parser for Java。
  • 我能从每个工作表提取原始文本吗? 可以,使用启用原始模式的 TextReader
  • 需要许可证吗? 可获取临时免费许可证进行评估。
  • 需要哪个 Java 版本? JDK 8 或更高。
  • 支持 Maven 吗? 当然 – 将仓库和依赖添加到 pom.xml 即可。

什么是使用 GroupDocs.Parser 的 “如何解析 Excel”?

使用 GroupDocs.Parser 解析 Excel 意味着以编程方式打开 .xlsx(或其他受支持)工作簿,遍历其工作表,并读取不带任何格式的纯文本。这种方式比将整个工作簿加载到笨重的电子表格 API 中更快,并且可以直接访问底层字符。

为什么选择 GroupDocs.Parser for Java?

  • 速度快且内存占用低: 一次处理一个工作表。
  • 广泛的格式支持: 支持 XLSX、XLS、CSV 等。
  • 简洁的 API: 只需几行代码即可开始提取文本。
  • 企业级授权: 免费试用,随后可升级为可扩展的商业授权。

前置条件

  • Java Development Kit (JDK): 8 或更新版本。
  • IDE: IntelliJ IDEA、Eclipse 或任何兼容的 Java 编辑器。
  • Maven(可选): 用于简化依赖管理。

设置 GroupDocs.Parser for Java

Maven 设置

如果使用 Maven 管理依赖,请在 pom.xml 中添加仓库和依赖:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

直接下载

或者,直接从 GroupDocs releases 下载最新的 GroupDocs.Parser for Java 版本。

获取许可证

要使用免费试用,请访问 GroupDocs 网站 获取临时许可证。这样可以在购买正式许可证前评估库的全部功能。

基本初始化与设置

将库加入类路径后,您可以创建指向 Excel 工作簿的 Parser 实例:

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.options.IDocumentInfo;
import com.groupdocs.parser.options.TextOptions;

String excelFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.xlsx";

try (Parser parser = new Parser(excelFilePath)) {
    // Your code to work with the document
} catch (Exception e) {
    e.printStackTrace();
}

环境准备就绪后,下面进入实际的提取逻辑。

如何解析 Excel:从工作表中提取原始文本

步骤 1 – 获取文档信息

首先获取工作簿的元数据,例如工作表(原始页面)的数量。

IDocumentInfo spreadsheetInfo = parser.getDocumentInfo();

步骤 2 – 循环遍历每个工作表并读取文本

遍历所有工作表并提取原始、未格式化的文本。TextOptions(true) 标志开启原始模式。

for (int p = 0; p < spreadsheetInfo.getRawPageCount(); p++) {
    try (TextReader reader = parser.getText(p, new TextOptions(true))) {
        String sheetContent = reader.readToEnd();
        
        // Process or use extracted text data here
    }
}

处理提取的数据

此时 sheetContent 保存了当前工作表的纯文本。您可以:

  • 将其写入 .txt 文件以作归档。
  • 将其输入自然语言处理管道。
  • 将其存入数据库以便后续查询。

常见问题及解决方案

问题产生原因解决办法
文件未找到excelFilePath 不正确。核实路径并确保文件可读。
不受支持的格式使用了旧版 XLS 文件而解析器版本较新。将文件转换为 XLSX,或升级到最新的 GroupDocs.Parser 版本。
大工作簿内存溢出一次加载所有工作表。如示例所示一次处理一个工作表,并及时释放资源。
许可证异常试用期已过或缺少许可证文件。在解析前应用有效的临时或正式许可证。

实际应用场景(读取 Excel 工作表文本)

  1. 数据迁移: 将遗留电子表格数据迁入现代数据库,无需手动复制粘贴。
  2. 自动化报告: 从多个工作簿提取原始值,生成合并的 PDF 或 HTML 报告。
  3. 搜索索引: 将提取的文本索引到 Elasticsearch,实现快速内容检索。

大型 Excel 文件的性能技巧

  • 按工作表流式处理: 循环已实现一次处理一个工作表,保持低内存占用。
  • 复用 TextReader 对象: 避免在紧密循环中创建不必要的对象。
  • 并行处理: 对于极大的工作簿,可考虑在独立线程中处理不同工作表,但需注意 Parser 实例的线程安全性。

常见问答

问:GroupDocs.Parser 还支持哪些电子表格格式?
答:支持 XLSX、XLS、CSV 以及其他 Office Open XML 格式。

问:我能提取单元格的格式信息吗?
答:可以,使用不带原始标志的 TextOptions 即可获取格式化文本。

问:如何处理受密码保护的 Excel 文件?
答:在 Parser 构造函数中传入密码,例如 new Parser(filePath, "password")

问:有没有办法只提取特定列?
答:可以在后处理 sheetContent 时过滤行,或使用 SpreadsheetOptions API 实现更细粒度的控制。

问:在哪里可以找到更多代码示例?
答:请查看 GroupDocs 文档 和 GitHub 仓库中的示例。

资源


最后更新: 2026-02-14
测试环境: GroupDocs.Parser 25.5 for Java
作者: GroupDocs