在构建数据驱动的 Web 服务或报告流水线时,自动化电子表格更新是常见需求。GroupDocs.Editor Cloud SDK for Node.js 只需几行代码即可通过 REST 在 Node.js 中编辑 Excel 文件。在本教程中,您将了解如何配置 SDK、加载一个 XLSX 工作簿、修改一个 单元格、保存更改,并使用原始 cURL 调用实现相同的结果。我们还将讨论关键特性、配置选项和性能注意事项,帮助您高效集成 Excel 编辑功能。

在 Node.js via REST 中编辑 Excel 文件 - 5 步指南

  1. 安装 SDK 并配置凭据: 设置您的 CLIENT_ID 和 CLIENT_SECRET,以便库能够使用 GroupDocs Cloud 进行身份验证。
const CLIENT_ID = "YOUR_CLIENT_ID";
const CLIENT_SECRET = "YOUR_CLIENT_SECRET";

const config = new GroupDocsEditorCloud.Configuration(CLIENT_ID, CLIENT_SECRET);
const editApi = new GroupDocsEditorCloud.EditApi(config);
  1. 加载 Excel 工作簿进行编辑:使用 EditDocumentRequest 打开存储在云存储中的文件。
const editRequest = new GroupDocsEditorCloud.EditDocumentRequest({
    fileInfo: new GroupDocsEditorCloud.FileInfo({ filePath: "input.xlsx" })
});
const editResult = await editApi.editDocument(editRequest);
  1. 检索第一个工作表并定位目标单元格:SDK 返回一个包含工作表和单元格的 document 对象。
const worksheet = editResult.document.worksheets[0];
let targetCell = worksheet.cells.find(c => c.rowIndex === 0 && c.columnIndex === 0);
  1. 更新或创建单元格值: 更改单元格 A1 的内容(如果不存在则添加)。
if (!targetCell) {
    targetCell = new GroupDocsEditorCloud.Cell({
        rowIndex: 0,
        columnIndex: 0,
        value: "Edited via GroupDocs Editor Cloud"
    });
    worksheet.cells.push(targetCell);
} else {
    targetCell.value = "Edited via GroupDocs Editor Cloud";
}
  1. 将编辑后的工作簿保存回存储:提供 outputPath 并调用 saveDocument。
const saveOptions = new GroupDocsEditorCloud.SaveOptions({ outputPath: "output.xlsx" });
const saveRequest = new GroupDocsEditorCloud.SaveDocumentRequest({
    documentId: editResult.documentId,
    document: editResult.document,
    saveOptions: saveOptions
});
await editApi.saveDocument(saveRequest);

如需完整的类和方法列表,请参阅 API 参考。

在 Node.js 中通过 REST 编辑 Excel 文件 - 完整代码示例

以下示例演示如何在 Node.js 中通过 REST 使用 GroupDocs.Editor Cloud SDK 编辑 Excel 文件。

const GroupDocsEditorCloud = require("@groupdocs/editor-cloud");

// Replace with your actual GroupDocs Cloud credentials
const CLIENT_ID = "YOUR_CLIENT_ID";
const CLIENT_SECRET = "YOUR_CLIENT_SECRET";

// Paths for the source Excel file and the edited result
const INPUT_FILE_PATH = "input.xlsx";
const OUTPUT_FILE_PATH = "output.xlsx";

async function editExcel() {
    // Configure the SDK
    const config = new GroupDocsEditorCloud.Configuration(CLIENT_ID, CLIENT_SECRET);
    const editApi = new GroupDocsEditorCloud.EditApi(config);

// 1. Load the Excel workbook for editing
    const editRequest = new GroupDocsEditorCloud.EditDocumentRequest({
        fileInfo: new GroupDocsEditorCloud.FileInfo({
            filePath: INPUT_FILE_PATH
        })
    });

const editResult = await editApi.editDocument(editRequest);
    const documentId = editResult.documentId;
    const document = editResult.document;

// 2. Retrieve the first worksheet
    const worksheet = document.worksheets[0];

// 3. Update cell A1 (rowIndex = 0, columnIndex = 0) with a new value
    let targetCell = worksheet.cells.find(c => c.rowIndex === 0 && c.columnIndex === 0);
    if (!targetCell) {
        targetCell = new GroupDocsEditorCloud.Cell({
            rowIndex: 0,
            columnIndex: 0,
            value: "Edited via GroupDocs Editor Cloud"
        });
        worksheet.cells.push(targetCell);
    } else {
        targetCell.value = "Edited via GroupDocs Editor Cloud";
    }

// 4. Save the edited workbook back to storage
    const saveOptions = new GroupDocsEditorCloud.SaveOptions({
        outputPath: OUTPUT_FILE_PATH
    });

const saveRequest = new GroupDocsEditorCloud.SaveDocumentRequest({
        documentId: documentId,
        document: document,
        saveOptions: saveOptions
    });

const saveResult = await editApi.saveDocument(saveRequest);
    console.log(`Edited file saved to: ${saveResult.path}`);
}

// Execute the edit operation
editExcel().catch(error => {
    console.error("Error during Excel editing:", error);
});

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

使用 REST API 在 Node.js 中通过 cURL 更新 XLSX 工作表

下面是使用原始 HTTP 调用执行相同操作的快速演练。请将占位符值替换为您的实际凭据和文件名。

  1. 获取访问令牌
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=client_credentials"

响应中包含 access_token。

  1. 上传源 XLSX 文件
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/input.xlsx" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -F "file=@input.xlsx"
  1. 编辑工作簿(修改单元格 A1)
curl -X POST "https://api.groupdocs.cloud/v2.0/editor/edit" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "input.xlsx" },
           "options": {
               "cells": [
                   { "rowIndex": 0, "columnIndex": 0, "value": "Edited via GroupDocs Editor Cloud" }
               ]
           }
         }'
  1. 下载已编辑的文件
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.xlsx" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -o output.xlsx

有关请求负载的更多详细信息,请参阅官方 API 文档。

GroupDocs.Editor Cloud SDK for Node.js 的先决条件和设置

要开始使用 SDK,您需要 Node.js 14 或更高版本以及一个 GroupDocs Cloud 帐户。

npm install groupdocs-editor-cloud

您也可以从发布页面下载最新的包。安装后,在您的 GroupDocs Cloud 仪表板中创建 client_id 和 client_secret 并妥善保管。

是什么让 GroupDocs.Editor Cloud SDK for Node.js 成为修改 Excel 工作表的理想选择

  • 完整的 XLSX 支持 - 加载、编辑并保存工作簿,同时保留公式、样式和数据验证。
  • 单元格级别编辑 - 以编程方式访问单个单元格、行或列,非常适合更新报告或仪表板。
  • 云存储集成 - 直接操作存储在 GroupDocs Cloud 中的文件,无需本地下载。
  • 安全的 REST 通信 - 所有操作均通过 HTTPS 进行,SDK 为您处理令牌管理。

如需深入了解,请参阅文档。

微调 GroupDocs.Editor Cloud 中的 Excel 编辑选项

SDK 提供了多种选项,让您能够控制已编辑工作簿的保存方式。

const saveOptions = new GroupDocsEditorCloud.SaveOptions({
    outputPath: "output.xlsx",
    // You can also set compression level, password protection, etc.
});
  • outputPath - 云存储中的目标路径。
  • compressionLevel - 减少大型工作簿的文件大小(在 API 参考中可用)。
  • password - 如有需要,用密码保护生成的文件。

调整这些设置以匹配您项目的安全性和性能需求。

编辑 XLSX 工作簿 via REST 的性能考虑

  1. 重用配置对象 - 为每个请求创建新的 Configuration 会增加开销。请在应用程序生命周期内保持单个实例。
  2. 批量单元格更新 - 如果需要修改大量单元格,请将它们收集到数组中,并发送单个编辑请求,而不是多次调用。
  3. 限制工作表大小 - 非常大的工作表会增加内存消耗。尽可能考虑将数据拆分到多个工作表中。
  4. 避免不必要的保存 - 仅在所有必需的更改都已应用后调用 saveDocument,以减少 I/O 操作。

结论

在 Node.js 中通过 REST 编辑 Excel 文件变得简单,只需使用 GroupDocs.Editor Cloud SDK for Node.js。您可以以编程方式加载工作簿、修改单元格,并仅通过几次 API 调用或简单的 cURL 命令保存结果。SDK 的云端架构消除了对本地 Office 安装的需求,并能够随您的应用工作负载进行扩展。对于生产部署,请购买符合您使用模式的许可证,您也可以从 临时许可证页面 获取用于测试的临时许可证。立即开始集成 Excel 编辑功能,简化您的数据处理流水线。

常见问题

如何在 Node.js 中通过 REST 编辑 Excel 文件而无需编写自定义 HTTP 代码?
使用 GroupDocs.Editor Cloud SDK for Node.js,它抽象了 REST 调用,使您能够通过简单的方法调用在 Node.js 中通过 REST 编辑 Excel 文件。

我可以使用 REST api Node.js 更新大型文件的 XLSX 工作表吗?
是的。SDK 支持流式传输数据并支持批量更新,适用于大型工作簿。调整 compressionLevel 和批量单元格更改以提升性能。

在 Node.js 中以编程方式修改 Excel 工作表的最佳方法是什么?
使用 editDocument 返回的 worksheet 和 cell 对象。这样您可以在不离开 Node.js 环境的情况下完全控制行、列和单元格的值。

我在哪里可以找到定价和授权信息?
所有授权细节,包括定价层级和用于评估的临时授权,都可以在临时授权页面找到。

阅读更多