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
- Zainstaluj SDK i skonfiguruj poświadczenia: Ustaw swoje
CLIENT_IDiCLIENT_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);
- 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);
- 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);
- 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";
}
- Zapisz edytowany skoroszyt z powrotem w magazynie: Podaj
outputPathi wywołajsaveDocument.
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.
- 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.
- 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"
- 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" }
]
}
}'
- 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
- Ponowne użycie obiektu konfiguracji - Tworzenie nowego
Configurationdla każdego żądania zwiększa narzut. Utrzymuj jedną instancję przez cały czas działania aplikacji. - 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ń.
- Ogranicz rozmiar arkusza - Bardzo duże arkusze zwiększają zużycie pamięci. Rozważ podzielenie danych na wiele arkuszy, gdy to możliwe.
- Unikaj niepotrzebnych zapisów - Wywołuj
saveDocumenttylko 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.
