如何在 Java 中使用 GroupDocs.Editor 编辑 Excel 和 Word 文件

在现代 Java 应用程序中,能够以编程方式 编辑 Excel 文件对需要自动生成报告、即时更新电子表格或为每位用户个性化模板的企业来说是一个改变游戏规则的功能。无论您是想寻找 编辑 Word 文档 的方法,还是需要一种可靠的方式来 生成 Excel 报告 Java,本教程都将使用 GroupDocs.Editor 为您逐步演示每个环节。

介绍

在当今节奏快速的数字世界中,高效地管理和编辑文档对企业和个人都至关重要。无论您是自动化报告生成、即时定制模板,还是仅仅想了解 编辑 Word 的方法,掌握文档操作都能显著提升生产力。本指南将引导您使用 GroupDocs.Editor for Java 加载、修改并保存 Word 与 Excel 文件,帮助您充满信心地完成工作。

您将学到的内容

  • 如何使用默认和自定义选项加载并编辑 Word 处理文档(编辑 Word)。
  • 如何 编辑 Excel 电子表格,定位特定工作表(edit excel java)。
  • 实际应用场景,如自动化报告生成和模板定制。
  • Java 性能优化技巧,包括在处理大文件时 禁用分页 Word

准备好深入自动化文档编辑的世界了吗?让我们开始吧!

快速答案

  • 哪个库可以在 Java 中实现编辑 Excel? GroupDocs.Editor for Java。
  • 我可以在不加载整个工作簿的情况下编辑特定的 Excel 工作表吗? 可以,使用 SpreadsheetEditOptions.setWorksheetIndex()
  • 如何从 Word 文档中提取所有嵌入的字体? 在 WordProcessingEditOptions 中设置 FontExtractionOptions.ExtractAllEmbedded
  • 处理大文件时 Java 性能优化的最佳实践是什么? 及时释放 EditableDocumentEditor 对象,并在可能的情况下复用加载选项。
  • 生产环境是否需要许可证? 建议在生产部署中使用完整的 GroupDocs.Editor 许可证。

为什么在 Java 中编辑 Excel 和 Word 文件?

直接在 Java 中编辑文档可以构建端到端的工作流:生成发票、更新合同或创建动态仪表板,而无需人工干预。使用 GroupDocs.Editor,您可以 生成 Excel 报告 Java、提取字体,甚至 禁用分页 Word,从而保持低内存占用。

前置条件

在开始之前,请确保您具备以下条件:

必需的库和依赖

  • GroupDocs.Editor for Java(版本 25.3 或更高)。
  • Java Development Kit (JDK) 8 或更高。

环境搭建要求

  • IntelliJ IDEA 或 Eclipse 等 IDE。
  • 基本的 Java 编程概念。

为 Java 项目设置 GroupDocs.Editor

要在项目中集成 GroupDocs.Editor,请按以下步骤操作:

Maven
在您的 pom.xml 文件中添加以下内容:

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

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-editor</artifactId>
      <version>25.3</version>
   </dependency>
</dependencies>

直接下载
或者,从 GroupDocs.Editor for Java releases 下载库。

许可证获取

  • 免费试用 – 开始探索功能,无需任何承诺。
  • 临时许可证 – 如有需要,可延长评估时间。
  • 完整许可证 – 推荐用于生产环境,以解锁全部功能。

如何在 Java 中编辑 Word 文档

以下是处理 Word 文件的三种常见方式。

使用默认选项加载并编辑 Word 处理文档

概述: 使用默认设置加载 DOCX 文件并获取可编辑实例。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.EditableDocument;
import com.groupdocs.editor.options.WordProcessingLoadOptions;

String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
Editor editor1 = new Editor(inputFilePath, new WordProcessingLoadOptions());
EditableDocument defaultWordProcessingDoc = editor1.edit();

// Manipulate the document as needed
defaultWordProcessingDoc.dispose();
editor1.dispose();

关键参数

  • inputFilePath – 您的 Word 文档路径。
  • WordProcessingLoadOptions() – 使用默认选项加载文档。

使用自定义选项编辑 Word 处理文档

概述: 禁用分页、启用语言信息提取,并提取所有嵌入字体。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.EditableDocument;
import com.groupdocs.editor.options.WordProcessingEditOptions;
import com.groupdocs.editor.options.FontExtractionOptions;

String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
Editor editor1 = new Editor(inputFilePath, new WordProcessingLoadOptions());

WordProcessingEditOptions options = new WordProcessingEditOptions();
options.setEnablePagination(false);
options.setEnableLanguageInformation(true);
options.setFontExtraction(FontExtractionOptions.ExtractAllEmbedded);

EditableDocument editableDoc = editor1.edit(options);

// Manipulate the document as needed
editableDoc.dispose();
editor1.dispose();

关键配置选项

  • setEnablePagination(false) – 禁用分页以加快编辑速度(这就是 禁用分页 Word 的做法)。
  • setEnableLanguageInformation(true) – 提取语言元数据。
  • setFontExtraction(FontExtractionOptions.ExtractAllEmbedded)提取嵌入字体,确保完整保真度。

使用另一种配置编辑 Word 处理文档

概述: 通过构造函数快捷方式启用语言信息并提取所有嵌入字体。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.EditableDocument;
import com.groupdocs.editor.options.WordProcessingEditOptions;

String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.docx";
Editor editor1 = new Editor(inputFilePath, new WordProcessingLoadOptions());

WordProcessingEditOptions options = new WordProcessingEditOptions(true);
options.setFontExtraction(FontExtractionOptions.ExtractAll);

EditableDocument editableDoc = editor1.edit(options);

// Manipulate the document as needed
editableDoc.dispose();
editor1.dispose();

如何在 Java 中编辑 Excel 文件

GroupDocs.Editor 允许您定位单个工作表,这对于只需修改单个标签页的 编辑 Excel 场景非常适用。

加载并编辑电子表格文档(第一个标签页)

概述: 编辑 Excel 文件的第一个工作表(索引 0)。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.EditableDocument;
import com.groupdocs.editor.options.SpreadsheetLoadOptions;
import com.groupdocs.editor.options.SpreadsheetEditOptions;

String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.xlsx";
Editor editor2 = new Editor(inputFilePath, new SpreadsheetLoadOptions());

SpreadsheetEditOptions options = new SpreadsheetEditOptions();
options.setWorksheetIndex(0); // Access the first tab (index 0)

EditableDocument editableDoc = editor2.edit(options);

// Manipulate the document as needed
editableDoc.dispose();
editor2.dispose();

加载并编辑电子表格文档(第二个标签页)

概述: 编辑同一工作簿的第二个工作表(索引 1)。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.EditableDocument;
import com.groupdocs.editor.options.SpreadsheetLoadOptions;
import com.groupdocs.editor.options.SpreadsheetEditOptions;

String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.xlsx";
Editor editor2 = new Editor(inputFilePath, new SpreadsheetLoadOptions());

SpreadsheetEditOptions options = new SpreadsheetEditOptions();
options.setWorksheetIndex(1); // Access the second tab (index 1)

EditableDocument editableDoc = editor2.edit(options);

// Manipulate the document as needed
editableDoc.dispose();
editor2.dispose();

实际应用

  • 自动化报告生成 – 通过编程方式填充 Excel 模板,生成月度绩效报告(生成 Excel 报告 Java)。
  • 模板定制 – 根据用户输入即时修改 Word 合同或发票(编辑 Word)。
  • 数据合并 – 在不将整个工作簿加载到内存的情况下合并多个电子表格数据,提升 Java 性能优化
  • CRM 集成 – 自动更新存储在 CRM 系统中的客户文档。

性能考虑

在处理大型文档时保持 Java 应用响应迅速的措施:

  1. 及时释放对象 – 完成后立即调用 dispose() 释放 EditableDocumentEditor
  2. 复用加载选项 – 创建单个 WordProcessingLoadOptionsSpreadsheetLoadOptions 实例,并在多个编辑器间共享。
  3. 定位特定工作表 – 仅编辑所需标签页可降低内存占用(参见上面的 编辑 Excel 示例)。
  4. 避免不必要的分页 – 禁用分页 (setEnablePagination(false)) 可加速大型 Word 文件的处理(禁用分页 Word)。

常见问题及解决方案

问题解决方案
在大型文件上出现 OutOfMemoryError确保 禁用分页 Word 并仅编辑所需的工作表。
编辑后字体未显示使用 FontExtractionOptions.ExtractAllEmbedded 提取所有嵌入字体。
许可证异常确认有效的 GroupDocs.Editor 许可证文件已放置在应用的类路径下。
编辑了错误的工作表再次检查传递给 setWorksheetIndex() 的索引;索引从 0 开始。

常见问答

问:GroupDocs.Editor 是否兼容所有 Word 格式?
答:是的,支持 DOCX、DOCM、DOC 等常见 Word 格式。

问:我能在不将整个工作簿加载到内存的情况下编辑 Excel 文件吗?
答:完全可以。通过设置 SpreadsheetEditOptions.setWorksheetIndex(),仅编辑选定的标签页,适用于 编辑 Excel 任务。

问:如何从 Word 文档中提取所有嵌入字体?
答:如自定义选项示例所示,使用 WordProcessingEditOptions.setFontExtraction(FontExtractionOptions.ExtractAllEmbedded)

问:处理大型文档时 Java 性能优化的最佳实践是什么?
答:及时释放 EditableDocumentEditor 对象,定位特定工作表,并在不需要时 禁用分页 Word

问:生产环境是否需要许可证?
答:是的,生产部署需要完整的 GroupDocs.Editor 许可证,以解锁全部功能并获得技术支持。


最后更新: 2026-02-21
测试环境: GroupDocs.Editor 25.3 for Java
作者: GroupDocs