在构建数据驱动的 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.xlsx、output.xlsx),验证所有必需的依赖项已正确安装,并在开发环境中彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。
使用 cURL 命令进行 Excel REST 编辑
如果您更喜欢纯 REST 方法,可以使用 cURL 执行相同的操作。以下是典型步骤。
- 获取访问令牌
将YOUR_CLIENT_ID和YOUR_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"
- 上传源 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
- 加载工作簿进行编辑
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": {}
}'
- 保存修改后的工作簿
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 示例的逐步分解:
- 配置 API 客户端 -
ApiClient对象存储基础 URL 和身份验证凭据。
ApiClient apiClient = new ApiClient();
apiClient.setBasePath("https://api.groupdocs.cloud");
apiClient.setAppSid("YOUR_CLIENT_ID");
apiClient.setAppKey("YOUR_CLIENT_SECRET");
创建 Editor API 实例 -
EditorApi提供诸如loadDocument和saveDocument的方法。EditorApi editorApi = new EditorApi(apiClient);加载 Excel 工作簿 -
LoadDocumentRequest指定文件名;响应包含页面(工作表)信息。LoadDocumentRequest loadRequest = new LoadDocumentRequest("sample.xlsx", null); LoadResult loadResult = editorApi.loadDocument(loadRequest);编辑工作簿 - 对于 Excel,每个工作表显示为一个页面。您可以操作页面的 HTML 表示或使用其他编辑 API。(示例将此部分保留为占位符。)
保存修改后的文件 -
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 账户,以及有效的客户端凭据(AppSid 和 AppKey)。从下载页面下载最新的 JAR 包。
配置 Excel 编辑选项
SDK 允许您微调加载和保存行为:
- 加载选项 - 控制工作簿是否以只读模式打开。
LoadOptions loadOptions = new LoadOptions();
loadOptions.setReadOnly(false);
- 保存选项 - 选择输出格式(XLSX、CSV、等),以及是否保留公式。
SaveOptions saveOptions = new SaveOptions();
saveOptions.setFormat(SaveOptions.FormatEnum.XLSX);
saveOptions.setPreserveFormulas(true);
- 身份验证设置 - 如果需要,您可以设置自定义超时或代理。
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 的loadDocument和saveDocument方法,如代码示例所示。库会处理 REST 通信,因此您只需使用 Java 对象。REST API 需要哪种身份验证方法?
API 使用 OAuth2 客户端凭证授权流程。使用您的AppSid和AppKey获取访问令牌,然后在所有调用的Authorization: Bearer头中包含该令牌。详细信息请参阅官方文档。我可以在一次请求中编辑多个工作表吗?
是的。加载工作簿后,每个工作表会作为LoadResult中的单独页面出现。遍历这些页面,应用更改,然后调用一次saveDocument以保存所有编辑。我在哪里可以找到定价和许可信息?
访问产品的主页以获取订阅计划,并访问临时许可证页面获取试用密钥。
