Automatyzacja aktualizacji arkuszy kalkulacyjnych jest powszechną potrzebą przy tworzeniu usług internetowych opartych na danych lub pipeline’ów raportujących. GroupDocs.Editor Cloud SDK for Node.js umożliwia edycję plików Excel w Node.js za pośrednictwem REST przy użyciu zaledwie kilku linii kodu. W tym samouczku zobaczysz, jak skonfigurować SDK, załadować skoroszyt XLSX, zmodyfikować komórkę, zapisać zmiany oraz osiągnąć ten sam rezultat przy użyciu surowych wywołań cURL. Omówimy również kluczowe funkcje, opcje konfiguracji i kwestie wydajności, aby pomóc w efektywnej integracji edycji Excel.

Edytuj plik Excel w Node.js za pomocą REST - 5‑etapowy przewodnik

  1. Zainstaluj SDK i skonfiguruj poświadczenia: Ustaw swoje CLIENT_ID i CLIENT_SECRET, aby biblioteka mogła uwierzytelnić się w 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. Załaduj skoroszyt Excel do edycji: Użyj EditDocumentRequest, aby otworzyć plik przechowywany w Twojej chmurze.
const editRequest = new GroupDocsEditorCloud.EditDocumentRequest({
    fileInfo: new GroupDocsEditorCloud.FileInfo({ filePath: "input.xlsx" })
});
const editResult = await editApi.editDocument(editRequest);
  1. Pobierz pierwszy arkusz i zlokalizuj docelową komórkę: SDK zwraca obiekt document, który zawiera arkusze i komórki.
const worksheet = editResult.document.worksheets[0];
let targetCell = worksheet.cells.find(c => c.rowIndex === 0 && c.columnIndex === 0);
  1. Zaktualizuj lub utwórz wartość komórki: Zmień zawartość komórki A1 (lub dodaj ją, jeśli nie istnieje).
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. Zapisz edytowany skoroszyt z powrotem w magazynie: Podaj outputPath i wywołaj 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);

Aby uzyskać pełną listę klas i metod, zobacz referencję API.

Edytuj plik Excel w Node.js za pośrednictwem REST - Pełny przykład kodu

Poniższy przykład demonstruje, jak edytować plik Excel w Node.js za pomocą REST przy użyciu 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);
});

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem w swoim projekcie upewnij się, że zaktualizowałeś wszystkie ścieżki plików i wartości konfiguracyjne, aby odpowiadały rzeczywistemu środowisku, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, i dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz problemy, odwołaj się do oficjalnej dokumentacji lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.

Aktualizowanie arkusza XLSX przy użyciu REST API w Node.js za pomocą cURL

Poniżej znajduje się szybki przewodnik po tej samej operacji przy użyciu surowych wywołań HTTP. Zastąp wartości zastępcze swoimi rzeczywistymi poświadczeniami i nazwami plików.

  1. Uzyskaj token dostępu
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"

Odpowiedź zawiera access_token.

  1. Prześlij plik źródłowy 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. Edytuj skoroszyt (zmodyfikuj komórkę 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. Pobierz edytowany plik
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.xlsx" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -o output.xlsx

Aby uzyskać więcej informacji o ładunkach żądań, zobacz oficjalną dokumentację API.

Wymagania wstępne i konfiguracja GroupDocs.Editor Cloud SDK dla Node.js

Aby rozpocząć korzystanie z SDK, potrzebujesz Node.js 14 lub nowszego oraz konta GroupDocs Cloud.

npm install groupdocs-editor-cloud

Możesz również pobrać najnowszy pakiet ze strona wydania. Po instalacji utwórz client_id i client_secret w swoim panelu GroupDocs Cloud i zachowaj je w bezpiecznym miejscu.

Co sprawia, że GroupDocs.Editor Cloud SDK for Node.js jest idealny do modyfikowania arkuszy Excel

  • Pełne wsparcie XLSX - Ładuj, edytuj i zapisuj skoroszyty, zachowując formuły, style i walidację danych.
  • Edycja na poziomie komórek - Uzyskaj dostęp do pojedynczych komórek, wierszy lub kolumn programowo, co jest idealne do aktualizacji raportów lub pulpitów nawigacyjnych.
  • Integracja z przechowywaniem w chmurze - Pracuj bezpośrednio z plikami przechowywanymi w GroupDocs Cloud, bez ich pobierania lokalnie.
  • Bezpieczna komunikacja REST - Wszystkie operacje odbywają się przez HTTPS, a SDK zarządza tokenami za Ciebie.

Aby uzyskać bardziej szczegółowe informacje, odwołaj się do dokumentacji.

Dostosowywanie opcji edycji Excela w GroupDocs.Editor Cloud

SDK udostępnia kilka opcji, które pozwalają kontrolować, jak zapisywany jest edytowany skoroszyt.

const saveOptions = new GroupDocsEditorCloud.SaveOptions({
    outputPath: "output.xlsx",
    // You can also set compression level, password protection, etc.
});
  • outputPath - Ścieżka docelowa w pamięci w chmurze.
  • compressionLevel - Zmniejsz rozmiar pliku dla dużych skoroszytów (dostępne w dokumentacji API).
  • password - Zabezpiecz wynikowy plik hasłem, jeśli jest to wymagane.

Dostosuj te ustawienia, aby odpowiadały potrzebom bezpieczeństwa i wydajności Twojego projektu.

Rozważania dotyczą się wydajności przy edycji skoroszytów XLSX za pośrednictwem REST

  1. Ponowne użycie obiektu konfiguracji - Tworzenie nowego Configuration dla każdego żądania zwiększa narzut. Utrzymuj jedną instancję przez cały czas działania aplikacji.
  2. Zbiorcze aktualizacje komórek - Jeśli musisz zmodyfikować wiele komórek, zbierz je w tablicy i wyślij jedno żądanie edycji zamiast wielu wywołań.
  3. Ogranicz rozmiar arkusza - Bardzo duże arkusze zwiększają zużycie pamięci. Rozważ podzielenie danych na wiele arkuszy, gdy to możliwe.
  4. Unikaj niepotrzebnych zapisów - Wywołuj saveDocument tylko po zastosowaniu wszystkich wymaganych zmian, aby zmniejszyć operacje I/O.

Wnioski

Edycja pliku Excel w Node.js za pośrednictwem REST staje się prosta dzięki GroupDocs.Editor Cloud SDK for Node.js. Możesz programowo załadować skoroszyt, modyfikować komórki i zapisać wynik, używając zaledwie kilku wywołań API lub prostych poleceń cURL. Architektura SDK oparta na chmurze eliminuje potrzebę lokalnych instalacji Office i skalowalnie dopasowuje się do obciążenia Twojej aplikacji. W przypadku wdrożeń produkcyjnych zakup licencji dopasowanej do Twojego modelu użycia, a także możesz uzyskać tymczasową licencję do testów ze strony tymczasowej licencji. Rozpocznij integrację edycji Excela już dziś i usprawnij swoje pipeline’y przetwarzania danych.

FAQs

Jak edytować plik Excel w Node.js za pośrednictwem REST bez pisania własnego kodu HTTP?
Użyj GroupDocs.Editor Cloud SDK for Node.js, które abstrahuje wywołania REST i pozwala edytować plik Excel w Node.js za pośrednictwem REST przy użyciu prostych wywołań metod.

Czy mogę zaktualizować arkusz XLSX przy użyciu REST api Node.js dla dużych plików?
Tak. SDK strumieniuje dane i obsługuje aktualizacje wsadowe, co czyni go odpowiednim dla dużych skoroszytów. Dostosuj compressionLevel i zmiany komórek wsadowych, aby poprawić wydajność.

Jaki jest najlepszy sposób na programowe modyfikowanie arkusza Excel w Node.js?
Pracuj z obiektami worksheet i cell, które zwraca editDocument. Daje to pełną kontrolę nad wierszami, kolumnami i wartościami komórek bez opuszczania środowiska Node.js.

Gdzie mogę znaleźć informacje o cenach i licencjonowaniu?
Wszystkie szczegóły licencjonowania, w tym poziomy cen i tymczasowa licencja do oceny, są dostępne na stronie tymczasowej licencji.

Read More