스프레드시트 업데이트 자동화는 데이터 기반 웹 서비스나 보고 파이프라인을 구축할 때 흔히 필요한 작업입니다. GroupDocs.Editor Cloud SDK for Node.js를 사용하면 몇 줄의 코드만으로 REST를 통해 Node.js에서 Excel 파일을 편집할 수 있습니다. 이 튜토리얼에서는 SDK를 구성하고, XLSX 워크북을 로드하고, 셀을 수정하고, 변경 사항을 저장하는 방법을 보여주며, raw cURL 호출을 사용하여 동일한 결과를 얻는 방법도 다룹니다. 또한 Excel 편집을 효율적으로 통합할 수 있도록 주요 기능, 구성 옵션 및 성능 고려 사항에 대해서도 논의합니다.

REST를 통해 Node.js에서 Excel 파일 편집 - 5단계 가이드

  1. SDK를 설치하고 자격 증명을 구성합니다: 라이브러리가 GroupDocs Cloud에 인증할 수 있도록 CLIENT_ID와 CLIENT_SECRET을 설정합니다.
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를 통한 Excel 파일 편집 - 전체 코드 예제

다음 예제는 GroupDocs.Editor Cloud SDK를 사용하여 REST를 통해 Node.js에서 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);
});

참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.

cURL을 사용하여 Node.js에서 REST API로 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 워크시트를 수정하기에 이상적인 이유

  • Full XLSX support - 수식, 스타일 및 데이터 유효성 검사를 유지하면서 워크북을 로드, 편집 및 저장합니다.
  • Cell‑level editing - 개별 셀, 행 또는 열에 프로그래밍 방식으로 액세스할 수 있어 보고서나 대시보드 업데이트에 적합합니다.
  • Cloud storage integration - 파일을 로컬에 다운로드하지 않고 직접 GroupDocs Cloud에 저장된 파일을 작업합니다.
  • Secure REST communication - 모든 작업이 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 - 필요한 경우 비밀번호로 결과 파일을 보호합니다.

프로젝트의 보안 및 성능 요구에 맞게 이러한 설정을 조정하십시오.

REST를 통한 XLSX 워크북 편집 시 성능 고려 사항

  1. Reuse the configuration object - 매 요청마다 새로운 Configuration을 생성하면 오버헤드가 발생합니다. 애플리케이션 수명 동안 단일 인스턴스를 유지하십시오.
  2. Batch cell updates - 많은 셀을 수정해야 하는 경우, 배열에 수집하고 여러 호출 대신 단일 편집 요청을 보내세요.
  3. Limit worksheet size - 매우 큰 워크시트는 메모리 사용량을 증가시킵니다. 가능한 경우 데이터를 여러 시트로 분할하는 것을 고려하십시오.
  4. Avoid unnecessary saves - 모든 필요한 변경이 적용된 후에만 saveDocument를 호출하여 I/O 작업을 줄이세요.

결론

Node.js를 통한 REST로 Excel 파일을 편집하는 것이 GroupDocs.Editor Cloud SDK for Node.js와 함께라면 간단해집니다. 몇 개의 API 호출이나 간단한 cURL 명령만으로 워크북을 프로그래밍 방식으로 로드하고, 셀을 수정하며, 결과를 저장할 수 있습니다. SDK의 클라우드 기반 아키텍처는 로컬 Office 설치가 필요 없으며 애플리케이션의 작업 부하에 따라 확장됩니다. 프로덕션 배포를 위해서는 사용 패턴에 맞는 라이선스를 구매하고, 테스트용 임시 라이선스는 임시 라이선스 페이지에서 얻을 수 있습니다. 오늘 바로 Excel 편집을 통합하여 데이터 처리 파이프라인을 간소화하세요.

자주 묻는 질문

Node.js에서 REST를 사용하여 사용자 정의 HTTP 코드를 작성하지 않고 Excel 파일을 편집하려면 어떻게 해야 하나요?
GroupDocs.Editor Cloud SDK for Node.js 를 사용하면 REST 호출을 추상화하고 간단한 메서드 호출만으로 Node.js에서 REST를 통해 Excel 파일을 편집할 수 있습니다.

대용량 파일에 대해 REST api Node.js를 사용하여 XLSX 시트를 업데이트할 수 있나요?
예. SDK는 데이터를 스트리밍하고 배치 업데이트를 지원하므로 대용량 워크북에 적합합니다. 성능을 향상시키려면 compressionLevel 및 배치 셀 변경을 조정하십시오.

Excel 워크시트를 프로그래밍 방식으로 Node.js에서 수정하는 가장 좋은 방법은 무엇인가요?
editDocument에서 반환된 worksheet 및 cell 객체를 사용하십시오. 이를 통해 Node.js 환경을 떠나지 않고도 행, 열 및 셀 값을 완전히 제어할 수 있습니다.

가격 및 라이선스 정보를 어디서 찾을 수 있나요?
가격 단계와 평가용 임시 라이선스를 포함한 모든 라이선스 세부 정보는 임시 라이선스 페이지에서 확인할 수 있습니다.

더 읽기