Tự động cập nhật bảng tính là một nhu cầu phổ biến khi xây dựng các dịch vụ web dựa trên dữ liệu hoặc các pipeline báo cáo. GroupDocs.Editor Cloud SDK for Node.js cho phép bạn chỉnh sửa tệp Excel trong Node.js qua REST chỉ với vài dòng mã. Trong hướng dẫn này, bạn sẽ thấy cách cấu hình SDK, tải một workbook XLSX, sửa đổi một ô, lưu các thay đổi và đạt được kết quả tương tự bằng các lệnh cURL thô. Chúng tôi cũng sẽ thảo luận về các tính năng chính, tùy chọn cấu hình và các cân nhắc về hiệu năng để giúp bạn tích hợp việc chỉnh sửa Excel một cách hiệu quả.

Chỉnh sửa tệp Excel trong Node.js qua REST - Hướng dẫn 5 bước

  1. Cài đặt SDK và cấu hình thông tin xác thực: Đặt CLIENT_ID và CLIENT_SECRET của bạn để thư viện có thể xác thực với 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. Tải workbook Excel để chỉnh sửa: Sử dụng EditDocumentRequest để mở tệp được lưu trữ trong bộ nhớ đám mây của bạn.
const editRequest = new GroupDocsEditorCloud.EditDocumentRequest({
    fileInfo: new GroupDocsEditorCloud.FileInfo({ filePath: "input.xlsx" })
});
const editResult = await editApi.editDocument(editRequest);
  1. Lấy worksheet đầu tiên và xác định ô mục tiêu: SDK trả về một đối tượng document chứa các worksheet và ô.
const worksheet = editResult.document.worksheets[0];
let targetCell = worksheet.cells.find(c => c.rowIndex === 0 && c.columnIndex === 0);
  1. Cập nhật hoặc tạo giá trị ô: Thay đổi nội dung của ô A1 (hoặc thêm nếu chưa tồn tại).
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. Lưu workbook đã chỉnh sửa trở lại bộ nhớ lưu trữ: Cung cấp một outputPath và gọi 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);

Để xem danh sách đầy đủ các lớp và phương thức, hãy xem tài liệu API.

Chỉnh sửa tệp Excel trong Node.js qua REST - Ví dụ mã hoàn chỉnh

Ví dụ sau đây minh họa cách chỉnh sửa tệp Excel trong Node.js thông qua REST bằng cách sử dụng 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);
});

Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.

Cập nhật Sheet XLSX bằng REST API trong Node.js qua cURL

Dưới đây là hướng dẫn nhanh về cùng một thao tác sử dụng các cuộc gọi HTTP thô. Thay thế các giá trị placeholder bằng thông tin xác thực và tên tệp thực tế của bạn.

  1. Nhận token truy cập
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"

Phản hồi chứa access_token.

  1. Tải lên tệp XLSX nguồn
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/input.xlsx" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -F "file=@input.xlsx"
  1. Chỉnh sửa sổ làm việc (sửa ô 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. Tải xuống tệp đã chỉnh sửa
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.xlsx" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -o output.xlsx

Để biết thêm chi tiết về payload yêu cầu, xem tài liệu API chính thức.

Yêu cầu trước và Cài đặt cho GroupDocs.Editor Cloud SDK for Node.js

Để bắt đầu sử dụng SDK, bạn cần Node.js 14 hoặc phiên bản mới hơn và một tài khoản GroupDocs Cloud.

npm install groupdocs-editor-cloud

Bạn cũng có thể tải xuống gói mới nhất từ trang phát hành. Sau khi cài đặt, tạo một client_id và client_secret trong bảng điều khiển GroupDocs Cloud của bạn và giữ chúng an toàn.

Điều gì khiến GroupDocs.Editor Cloud SDK for Node.js trở nên lý tưởng cho việc chỉnh sửa các bảng tính Excel

  • Full XLSX support - Tải, chỉnh sửa và lưu các workbook trong khi giữ nguyên công thức, kiểu dáng và xác thực dữ liệu.
  • Cell‑level editing - Truy cập các ô, hàng hoặc cột riêng lẻ một cách lập trình, rất phù hợp để cập nhật báo cáo hoặc bảng điều khiển.
  • Cloud storage integration - Làm việc trực tiếp với các tệp được lưu trữ trong GroupDocs Cloud mà không cần tải xuống cục bộ.
  • Secure REST communication - Tất cả các thao tác diễn ra qua HTTPS, và SDK xử lý việc quản lý token cho bạn.

Để tìm hiểu sâu hơn, hãy tham khảo tài liệu.

Tinh chỉnh các tùy chọn chỉnh sửa Excel trong GroupDocs.Editor Cloud

SDK cung cấp một số tùy chọn cho phép bạn kiểm soát cách lưu workbook đã chỉnh sửa.

const saveOptions = new GroupDocsEditorCloud.SaveOptions({
    outputPath: "output.xlsx",
    // You can also set compression level, password protection, etc.
});
  • outputPath - Đường dẫn đích trong lưu trữ đám mây.
  • compressionLevel - Giảm kích thước tệp cho các workbook lớn (có sẵn trong tài liệu tham chiếu API).
  • password - Bảo vệ tệp kết quả bằng mật khẩu nếu cần.

Điều chỉnh các cài đặt này để phù hợp với nhu cầu bảo mật và hiệu suất của dự án của bạn.

Các yếu tố cân nhắc về hiệu năng khi chỉnh sửa sổ làm việc XLSX qua REST

  1. Tái sử dụng đối tượng cấu hình - Việc tạo một Configuration mới cho mỗi yêu cầu sẽ gây tốn tài nguyên. Giữ một thể hiện duy nhất trong suốt vòng đời của ứng dụng.
  2. Cập nhật ô theo lô - Nếu bạn cần sửa đổi nhiều ô, hãy thu thập chúng vào một mảng và gửi một yêu cầu chỉnh sửa duy nhất thay vì nhiều lần gọi.
  3. Giới hạn kích thước bảng tính - Bảng tính rất lớn sẽ tăng mức tiêu thụ bộ nhớ. Hãy cân nhắc chia dữ liệu thành nhiều sheet khi có thể.
  4. Tránh lưu không cần thiết - Chỉ gọi saveDocument sau khi tất cả các thay đổi cần thiết đã được áp dụng để giảm các thao tác I/O.

Kết luận

Việc chỉnh sửa tệp Excel trong Node.js qua REST trở nên đơn giản với GroupDocs.Editor Cloud SDK for Node.js. Bạn có thể tải một workbook một cách lập trình, sửa đổi các ô và lưu kết quả chỉ bằng một vài lời gọi API hoặc các lệnh cURL đơn giản. Kiến trúc dựa trên đám mây của SDK loại bỏ nhu cầu cài đặt Office cục bộ và mở rộng phù hợp với tải công việc của ứng dụng của bạn. Đối với triển khai sản xuất, mua giấy phép phù hợp với mô hình sử dụng của bạn, và bạn cũng có thể lấy giấy phép tạm thời để thử nghiệm từ trang giấy phép tạm thời. Bắt đầu tích hợp chỉnh sửa Excel ngay hôm nay và tối ưu hoá quy trình xử lý dữ liệu của bạn.

FAQs

Làm thế nào để chỉnh sửa tệp Excel trong Node.js qua REST mà không cần viết mã HTTP tùy chỉnh?
Sử dụng GroupDocs.Editor Cloud SDK for Node.js, nó trừu tượng hóa các cuộc gọi REST và cho phép bạn chỉnh sửa tệp Excel trong Node.js qua REST bằng các lời gọi phương thức đơn giản.

Có thể cập nhật một sheet XLSX bằng REST api Node.js cho các tệp lớn không?
Có. SDK truyền dữ liệu theo luồng và hỗ trợ cập nhật theo lô, giúp phù hợp với các workbook lớn. Điều chỉnh compressionLevel và các thay đổi ô theo lô để cải thiện hiệu năng.

Cách tốt nhất để chỉnh sửa worksheet Excel một cách lập trình trong Node.js là gì?
Làm việc với các đối tượng worksheet và cell được trả về bởi editDocument. Điều này cho phép bạn kiểm soát hoàn toàn các hàng, cột và giá trị ô mà không rời khỏi môi trường Node.js.

Tôi có thể tìm thông tin về giá và giấy phép ở đâu?
Tất cả chi tiết về giấy phép, bao gồm các mức giá và giấy phép tạm thời để đánh giá, có sẵn trên trang giấy phép tạm thời.

Đọc thêm