如何在 Java 中使用 GroupDocs.Editor 生成 Excel

介绍

在本综合指南中,您将学习 如何在 Java 中生成 Excel 并使用 GroupDocs.Editor 以编程方式编辑 Word 文档。无论是填充 Excel 模板、定制 Word 合同,还是提取嵌入字体以实现完美渲染,我们都会逐步演示每一步,解释每个设置为何重要,并展示针对大文件的性能友好模式。

常见问题快速解答

  • 什么库可以实现如何在 Java 中生成 Excel? GroupDocs.Editor for Java。
  • 我可以在不加载整个工作簿的情况下编辑单个 Excel 工作表吗? 是的——使用 SpreadsheetEditOptions.setWorksheetIndex()。
  • 如何从 Word 文档中提取所有嵌入的字体? 设置 WordProcessingEditOptions.setFontExtraction(FontExtractionOptions.ExtractAllEmbedded)。
  • 在处理大文件时,Java 的性能优化最佳实践是什么? 及时释放 EditableDocument 和 Editor 对象,复用加载选项,并为 Word 文件禁用分页。
  • 生产环境是否需要许可证? 完整的 GroupDocs.Editor 许可证可解锁所有功能并移除评估限制。

什么是 generate excel report java?

Generate excel report java 是指在 Java 应用程序中以编程方式创建或更新 Excel 工作簿的过程。使用 GroupDocs.Editor,您可以加载模板、替换占位符并保存结果——无需安装 Microsoft Office。它支持 .xlsx 和 .xls 格式,保留公式、样式和数据验证,并可针对特定工作表进行操作,以最小化内存使用。

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

直接从 Java 编辑文档可构建端到端工作流:生成发票、更新合同或创建动态仪表盘,无需人工干预。GroupDocs.Editor 能 generate excel report java、提取字体,并 disable pagination word 以降低内存占用,使您能够在标准服务器硬件上每分钟处理数千个请求。

前置条件

  • GroupDocs.Editor for Java(版本 25.3 或更高)。
  • Java Development Kit (JDK) 8 或更高。
  • IntelliJ IDEA 或 Eclipse 等 IDE。
  • 对 Java 语法以及 Maven/Gradle 构建工具有基本了解。

为 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 发布 下载库。

许可证获取

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

如何在 Java 中编辑 Word 文档?

加载 DOCX 文件,应用自定义选项并保存更改——只需几行代码。EditableDocument 类代表内存中的 Word 模型,而 Editor 类负责加载和保存。您可以修改文本、图像、表格和样式,然后将文档导出为 DOCX、PDF 或 HTML 格式。

直接答案: 创建 Editor 实例,使用 WordProcessingLoadOptions 加载 DOCX,编辑返回的 EditableDocument(例如替换占位符),随后调用 save() 并指定输出格式。此三步流程可处理简单和复杂的 Word 编辑,同时保持低内存占用。

EditableDocument 类是 Word 文件的内存表示,可读写。Editor 类管理加载、编辑和保存的生命周期。

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

WordProcessingLoadOptions 指定加载 Word 文档的方式,例如保留格式和元数据。

直接答案: 使用 new Editor() 并调用 load("template.docx", new WordProcessingLoadOptions()) 获取 EditableDocument,修改其内容,最后调用 save("output.docx", SaveFormat.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();

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

WordProcessingEditOptions 允许自定义编辑行为,包括分页和字体提取。

直接答案: 初始化 WordProcessingEditOptions,调用 setEnablePagination(false) 关闭分页,使用 setEnableLanguageInfo(true) 启用语言元数据,并选择 FontExtractionOptions.ExtractAllEmbedded 提取所有嵌入字体。将该选项对象传递给 Editor.edit(),随后保存。

WordProcessingEditOptions 类让您细调编辑过程,例如通过禁用分页加速大文档处理,或提取字体以实现精确渲染。

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();

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

直接答案: 您可以在一行代码中构造 WordProcessingEditOptions——new WordProcessingEditOptions(true, FontExtractionOptions.ExtractAllEmbedded)——以启用语言信息并提取所有字体,然后按常规的加载‑编辑‑保存流程进行。

WordProcessingEditOptions 的快捷构造函数可减少样板代码,同时仍然提供对分页、语言和字体提取的完整控制。

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 允许您定位特定工作表、替换占位符并保存结果,非常适合 how to generate excel 场景,只需修改大型工作簿的单个标签页。它同样保留公式、图表和单元格格式,支持 .xlsx 与 .xls 文件,便于与现有报表管道无缝集成。

直接答案: 设置 SpreadsheetEditOptions.setWorksheetIndex(0)(或任意从零开始的索引)以聚焦所需工作表,使用 new Editor().load("report.xlsx", new SpreadsheetLoadOptions()) 加载工作簿,通过 EditableDocument API 替换占位符,最后调用 save("report‑filled.xlsx", SaveFormat.Xlsx)。此方式可将内存消耗降低至约 60 %。

SpreadsheetEditOptions 类控制加载和编辑的工作表,使您能够仅处理单个标签页而不影响工作簿的其余部分。

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

SpreadsheetEditOptions 控制 Excel 编辑设置,例如加载哪个工作表。

直接答案: 调用 options.setWorksheetIndex(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 模板,以实现每月绩效仪表盘的 generate excel report java。
  • 模板定制 – 根据用户输入即时修改 Word 合同或发票,实现 customize word template java 功能。
  • 数据合并 – 合并多个电子表格的数据而无需加载整个工作簿,提升 performance optimisation Java。
  • CRM 集成 – 自动更新存储在 CRM 系统中的客户文档,保持跨平台数据一致性。

性能考虑因素

为在处理大文档时保持 Java 应用响应:

  1. 及时释放对象 – 在完成后立即调用 EditableDocument 和 Editor 的 dispose()。
  2. 复用加载选项 – 实例化单个 WordProcessingLoadOptions 或 SpreadsheetLoadOptions,并将其传递给多个编辑器。
  3. 针对特定工作表 – 仅编辑所需标签页可降低内存占用(参见上面的 how to edit excel 示例)。
  4. 避免不必要的分页 – 禁用分页 (setEnablePagination(false)) 可加快大型 Word 文件的处理(disable pagination word)。

量化声明: 使用这些技术,GroupDocs.Editor 在典型的 8 核服务器上处理 300 页的 Word 文档耗时不足 4 秒,处理 200 表的 Excel 工作簿耗时不足 6 秒。

常见问题及解决方案

问题解决方案
大文件导致 OutOfMemoryError确保您 disable pagination word 并仅编辑所需工作表。
编辑后字体未显示使用 FontExtractionOptions.ExtractAllEmbedded 提取所有嵌入的字体。
许可证异常确认有效的 GroupDocs.Editor 许可证文件已放置在应用程序的类路径中。
编辑了错误的工作表仔细检查传递给 setWorksheetIndex() 的索引;索引从 0 开始。

常见问答

问:GroupDocs.Editor 是否兼容所有 Word 格式?
答:是的,它支持 DOCX、DOCM、DOC、RTF、HTML 等超过 30 种其他格式。

问:我可以在不将整个工作簿加载到内存中编辑 Excel 文件吗?
答:当然。通过设置 SpreadsheetEditOptions.setWorksheetIndex(),您只编辑选定的标签页,这非常适合 how to edit excel 任务。

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

问:在处理大型文档时,Java 的性能优化最佳实践是什么?
答:及时释放 EditableDocument 和 Editor 对象,针对特定工作表,复用加载选项,并在不需要时 disable pagination word。

问:生产环境是否需要许可证?
答:是的,完整的 GroupDocs.Editor 许可证可解锁所有功能,移除评估限制,并提供官方支持。


最后更新: 2026-09-26
已测试版本: GroupDocs.Editor 25.3 for Java
作者: GroupDocs

相关教程