Автоматизация обновления электронных таблиц — распространённая необходимость при создании веб‑сервисов, основанных на данных, или конвейеров отчётности. GroupDocs.Editor Cloud SDK for Node.js позволяет редактировать файлы Excel в Node.js через REST, используя всего несколько строк кода. В этом руководстве вы увидите, как настроить SDK, загрузить рабочую книгу XLSX, изменить ячейку, сохранить изменения и достичь того же результата с помощью обычных вызовов cURL. Мы также обсудим ключевые возможности, параметры конфигурации и соображения по производительности, чтобы помочь вам эффективно интегрировать редактирование Excel.

Редактирование Excel‑файла в Node.js через REST — руководство из 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.

Редактирование Excel‑файла в Node.js через REST — полный пример кода

В следующем примере демонстрируется, как редактировать файл Excel в Node.js через REST с использованием GroupDocs.Editor Cloud SDK.

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

Примечание: Этот пример кода демонстрирует базовую функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили все пути к файлам и значения конфигурации в соответствии с вашей реальной средой, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с проблемами, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.

Обновление листа XLSX с помощью REST API в Node.js через cURL

Ниже представлена быстрая пошаговая инструкция той же операции с использованием чистых 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

Вы также можете загрузить последнюю версию пакета со страницы релизов. После установки создайте client_id и client_secret в панели управления GroupDocs Cloud и храните их в безопасности.

Что делает GroupDocs.Editor Cloud SDK for Node.js идеальным для изменения рабочих листов Excel

  • Полная поддержка XLSX - Загрузка, редактирование и сохранение книг Excel с сохранением формул, стилей и проверки данных.
  • Редактирование на уровне ячеек - Программный доступ к отдельным ячейкам, строкам или столбцам, что идеально подходит для обновления отчетов или панелей мониторинга.
  • Интеграция с облачным хранилищем - Работа напрямую с файлами, хранящимися в GroupDocs Cloud, без их локального скачивания.
  • Безопасное REST‑сообщение - Все операции выполняются через HTTPS, а SDK управляет токенами за вас.

Для более подробного изучения обратитесь к документации.

Тонкая настройка параметров редактирования Excel в GroupDocs.Editor Cloud

SDK предоставляет несколько вариантов, позволяющих контролировать, как сохраняется отредактированная рабочая книга.

const saveOptions = new GroupDocsEditorCloud.SaveOptions({
    outputPath: "output.xlsx",
    // You can also set compression level, password protection, etc.
});
  • outputPath - Путь назначения в облачном хранилище.
  • compressionLevel - Сократить размер файла для больших книг (доступно в справочнике API).
  • password - Защитить полученный файл паролем, если требуется.

Отрегулируйте эти настройки в соответствии с требованиями безопасности и производительности вашего проекта.

Соображения по производительности при редактировании книг XLSX через REST

  1. Повторное использование объекта конфигурации - Создание нового Configuration для каждого запроса добавляет накладные расходы. Держите один экземпляр на протяжении всей жизни вашего приложения.
  2. Пакетное обновление ячеек - Если необходимо изменить множество ячеек, соберите их в массив и отправьте один запрос на редактирование вместо нескольких вызовов.
  3. Ограничение размера листа - Очень большие листы увеличивают потребление памяти. По возможности разбивайте данные на несколько листов.
  4. Избегайте ненужных сохранений - Вызывайте saveDocument только после того, как все необходимые изменения применены, чтобы уменьшить операции ввода‑вывода.

Заключение

Редактирование файла Excel в Node.js через REST становится простым с помощью GroupDocs.Editor Cloud SDK for Node.js. Вы можете программно загрузить книгу, изменить ячейки и сохранить результат, используя всего несколько вызовов API или простые команды cURL. Облачная архитектура SDK устраняет необходимость в локальных установках Office и масштабируется вместе с нагрузкой вашего приложения. Для производственных развертываний приобретите лицензию, соответствующую вашему шаблону использования, а также вы можете получить временную лицензию для тестирования со страницы временной лицензии. Начните интегрировать редактирование Excel уже сегодня и оптимизируйте свои конвейеры обработки данных.

Часто задаваемые вопросы

Как отредактировать файл Excel в Node.js через REST без написания собственного HTTP-кода?
Используйте GroupDocs.Editor Cloud SDK for Node.js, который абстрагирует REST‑вызовы и позволяет редактировать файл Excel в Node.js через REST с помощью простых вызовов методов.

Можно ли обновить лист XLSX с помощью REST api Node.js для больших файлов?
Да. SDK передаёт данные потоково и поддерживает пакетные обновления, делая его подходящим для больших книг. Отрегулируйте compressionLevel и пакетные изменения ячеек, чтобы улучшить производительность.

Какой лучший способ программно изменить лист Excel в Node.js?
Работайте с объектами worksheet и cell, возвращаемыми editDocument. Это дает вам полный контроль над строками, столбцами и значениями ячеек, не покидая среду Node.js.

Где я могу найти информацию о ценах и лицензировании?
Все детали лицензирования, включая уровни цен и временную лицензию для оценки, доступны на странице страница временной лицензии.

Читать далее