在构建数据驱动的 Java 应用程序时,编程方式编辑 Excel 文件是一个常见需求,尤其是当您需要实时更新报告或生成动态电子表格时。 GroupDocs.Editor Cloud SDK for Java 提供了一个强大的基于 REST 的库,允许您在不处理底层文件格式的情况下操作 XLSX 工作簿。在本指南中,您将看到完整的 Java 代码示例、等效的 cURL 命令、安装步骤以及配置选项,以将 Excel 编辑集成到您的 Java 项目中。

在 Java 中通过 REST 编辑 Excel 工作表 - 完整代码示例

以下示例展示了如何使用 GroupDocs.Editor Cloud SDK for Java 加载 Excel 工作簿、进行更改并将其保存回存储。

import com.groupdocs.cloud.editor.api.*;
import com.groupdocs.cloud.editor.client.*;
import com.groupdocs.cloud.editor.model.*;
import com.groupdocs.cloud.editor.model.requests.*;

public class EditDocument {
    public static void main(String[] args) {
        // Configure API client
        ApiClient apiClient = new ApiClient();
        apiClient.setBasePath("https://api.groupdocs.cloud");
        apiClient.setAppSid("YOUR_CLIENT_ID");
        apiClient.setAppKey("YOUR_CLIENT_SECRET");

// Create EditorApi instance
        EditorApi editorApi = new EditorApi(apiClient);

// Load document
        LoadDocumentRequest loadRequest = new LoadDocumentRequest("sample.xlsx", null);
        LoadResult loadResult = editorApi.loadDocument(loadRequest);

// Get document pages (for Excel, each sheet is a page)
        // Edit cell via editing HTML? Not sure.

// Save document
        SaveDocumentRequest saveRequest = new SaveDocumentRequest("sample.xlsx", "output.xlsx", null);
        editorApi.saveDocument(saveRequest);
    }
}

注意: 此代码示例演示了核心功能。在将其用于项目之前,请确保更新文件路径(sample.xlsxoutput.xlsx),验证所有必需的依赖项已正确安装,并在开发环境中彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。

使用 cURL 命令进行 Excel REST 编辑

如果您更喜欢纯 REST 方法,可以使用 cURL 执行相同的操作。以下是典型步骤。

  1. 获取访问令牌
    YOUR_CLIENT_IDYOUR_CLIENT_SECRET 替换为您的凭据。
curl -X POST "https://api.groupdocs.cloud/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. 上传源 XLSX 文件
curl -X PUT "https://api.groupdocs.cloud/v2.0/editor/storage/file/sample.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" \
     --data-binary @sample.xlsx
  1. 加载工作簿进行编辑
curl -X POST "https://api.groupdocs.cloud/v2.0/editor/load" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "filePath": "sample.xlsx",
           "loadOptions": {}
         }'
  1. 保存修改后的工作簿
curl -X POST "https://api.groupdocs.cloud/v2.0/editor/save" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "filePath": "sample.xlsx",
           "outputPath": "output.xlsx",
           "saveOptions": {}
         }'

有关请求正文和其他参数的更多详细信息,请参阅官方 API 文档

通过 REST 在 Java 代码中编辑 Excel 工作表的理解

以下是 Java 示例的逐步分解:

  1. 配置 API 客户端 - ApiClient 对象存储基础 URL 和身份验证凭据。
ApiClient apiClient = new ApiClient();
apiClient.setBasePath("https://api.groupdocs.cloud");
apiClient.setAppSid("YOUR_CLIENT_ID");
apiClient.setAppKey("YOUR_CLIENT_SECRET");
  1. 创建 Editor API 实例 - EditorApi 提供诸如 loadDocumentsaveDocument 的方法。

    EditorApi editorApi = new EditorApi(apiClient);
    
  2. 加载 Excel 工作簿 - LoadDocumentRequest 指定文件名;响应包含页面(工作表)信息。

    LoadDocumentRequest loadRequest = new LoadDocumentRequest("sample.xlsx", null);
    LoadResult loadResult = editorApi.loadDocument(loadRequest);
    
  3. 编辑工作簿 - 对于 Excel,每个工作表显示为一个页面。您可以操作页面的 HTML 表示或使用其他编辑 API。(示例将此部分保留为占位符。)

  4. 保存修改后的文件 - SaveDocumentRequest 定义了源路径和目标路径。

    SaveDocumentRequest saveRequest = new SaveDocumentRequest("sample.xlsx", "output.xlsx", null);
    editorApi.saveDocument(saveRequest);
    

要获取完整的类和属性列表,请参阅 API 参考

准备环境

将 SDK 添加到您的 Maven 项目中:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-editor-cloud</artifactId>
    <version>25.7</version>
</dependency>

先决条件: Java 8 或更高版本,GroupDocs Cloud 账户,以及有效的客户端凭据(AppSidAppKey)。从下载页面下载最新的 JAR 包。

配置 Excel 编辑选项

SDK 允许您微调加载和保存行为:

  1. 加载选项 - 控制工作簿是否以只读模式打开。
LoadOptions loadOptions = new LoadOptions();
loadOptions.setReadOnly(false);
  1. 保存选项 - 选择输出格式(XLSX、CSV、等),以及是否保留公式。
SaveOptions saveOptions = new SaveOptions();
saveOptions.setFormat(SaveOptions.FormatEnum.XLSX);
saveOptions.setPreserveFormulas(true);
  1. 身份验证设置 - 如果需要,您可以设置自定义超时或代理。
apiClient.setTimeout(120000); // 2 minutes

这些选项将传递给前面显示的请求对象。

结论

通过 REST 在 Java 中编辑 Excel 工作表变得简单,只需使用 GroupDocs.Editor Cloud SDK for Java。该 SDK 抽象了 REST 调用,让您专注于业务逻辑,同时在后台处理身份验证、文件存储和格式细节。集成代码示例后,您可以扩展解决方案以支持批处理、自定义 单元格 样式或公式计算。请记得为生产环境获取合适的许可证;产品页面提供定价详情,您也可以从 临时许可证页面 申请临时试用许可证。立即开始自动化您的 Excel 工作流,提升 Java 应用程序的生产力。

FAQs

  • 如何在 Java 中使用 GroupDocs.Editor 通过 REST 编辑 Excel 工作表?
    使用 SDK 的 loadDocumentsaveDocument 方法,如代码示例所示。库会处理 REST 通信,因此您只需使用 Java 对象。

  • REST API 需要哪种身份验证方法?
    API 使用 OAuth2 客户端凭证授权流程。使用您的 AppSidAppKey 获取访问令牌,然后在所有调用的 Authorization: Bearer 头中包含该令牌。详细信息请参阅官方文档

  • 我可以在一次请求中编辑多个工作表吗?
    是的。加载工作簿后,每个工作表会作为 LoadResult 中的单独页面出现。遍历这些页面,应用更改,然后调用一次 saveDocument 以保存所有编辑。

  • 我在哪里可以找到定价和许可信息?
    访问产品的主页以获取订阅计划,并访问临时许可证页面获取试用密钥。

阅读更多