به‌روزرسانی خودکار صفحات گسترده یک نیاز رایج هنگام ساخت سرویس‌های وب مبتنی بر داده یا خطوط لوله گزارش‌دهی است. SDK 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 - بارگذاری، ویرایش و ذخیره کتاب‌کارها در حالی که فرمول‌ها، سبک‌ها و اعتبارسنجی داده‌ها حفظ می‌شوند.
  • ویرایش در سطح سلول - دسترسی برنامه‌نویسی به سلول‌ها، ردیف‌ها یا ستون‌های جداگانه، که برای به‌روزرسانی گزارش‌ها یا داشبوردها ایده‌آل است.
  • یکپارچه‌سازی ذخیره‌سازی ابری - کار مستقیم با فایل‌های ذخیره‌شده در 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 را فراخوانی کنید تا عملیات I/O کاهش یابد.

نتیجه‌گیری

ویرایش یک فایل 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 می‌دهد.

کجا می‌توانم اطلاعات قیمت‌گذاری و مجوزها را پیدا کنم؟
تمام جزئیات مجوز، از جمله سطوح قیمت‌گذاری و یک مجوز موقت برای ارزیابی، در صفحه مجوز موقت موجود است.

بیشتر بخوانید