1. Sản Phẩm
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Rust

Aspose.Cells FOSS cho Rust

Rust crate mã nguồn mở để tạo, đọc, chỉnh sửa và lưu các bảng tính Excel XLSX mà không cần phụ thuộc vào Office.

Aspose.Cells FOSS — Thư viện Rust nguồn mở

Aspose.Cells FOSS for Rust là một thư viện mã nguồn mở để làm việc với bảng tính Excel XLSX trong các ứng dụng Rust. Nó cung cấp cho các lập trình viên hệ thống một cách gốc, an toàn bộ nhớ để tạo sổ làm việc từ đầu, tải các tệp XLSX hiện có, sửa đổi nội dung của chúng và lưu kết quả — mà không cần Microsoft Office, tự động hoá COM, hay bất kỳ môi trường chạy bên ngoài nào.

Gói này mô hình hoá toàn bộ cây đối tượng bảng tính: Workbook, Worksheet, và các bộ sưu tập ô với các hàm thiết lập giá trị có kiểu (put_value_string, put_value_i32, put_value_bool, put_value_decimal), công thức với giá trị đã lưu qua put_formula_with_cached_value, biểu đồ (Chart, ChartType), định dạng có điều kiện (FormatCondition), xác thực dữ liệu (Validation), bộ lọc tự động (AutoFilter), kiểu dáng ô (CellStyle, Font, Fill, Borders), thiết lập trang (PageSetup), hình ảnh, hình dạng, chú thích, siêu liên kết, bảng (ListObject), sparklines (SparklineGroup), các tên đã định nghĩa, và bảo vệ sổ làm việc/bảng tính.

Aspose.Cells FOSS for Rust được cấp phép MIT và nhắm tới Rust edition 2021. Nó được cài đặt như một phụ thuộc Cargo tiêu chuẩn từ kho GitHub — xem hướng dẫn cài đặt để biết mục nhập Cargo.toml chính xác. Các lỗi được bộc lộ thông qua các kiểu Result thông thường (CellsError), và việc tải XLSX cung cấp các tùy chọn sửa chữa (LoadOptions) với chẩn đoán có cấu trúc (LoadDiagnostics). Đối với dòng sản phẩm doanh nghiệp, xem Aspose.Cells — Enterprise Product Family.

Quản lý Workbook và Worksheet

  • Tạo sổ làm việc trống bằng Workbook::new hoặc tải các tệp hiện có bằng Workbook::load_xlsx
  • Thêm và truy cập các bảng tính qua add_worksheet, worksheet, và các bộ sưu tập bảng tính có thể thay đổi
  • Lưu vào đĩa bằng save, save_xlsx, hoặc save_with_format có định dạng rõ ràng
  • Kiểm soát các chế độ xem sổ làm việc, cài đặt và thuộc tính tài liệu

Nơi Nó Phù Hợp

  • Dịch vụ backend tạo báo cáo XLSX mà không cần cài đặt Office
  • Công cụ CLI tạo hàng loạt hoặc xử lý hậu kỳ các bảng tính
  • Các pipeline dữ liệu Rust xuất kết quả dạng bảng cho người dùng doanh nghiệp

Dữ liệu ô, Công thức và Kiểu

  • Các setter có kiểu: put_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_time
  • Ghi công thức với kết quả đã lưu trong bộ nhớ đệm thông qua put_formula_with_cached_value
  • Đọc lại các giá trị bằng display_string_value và value_type
  • Truy cập các ô bằng tên A1 hoặc chỉ số hàng/cột (get, get_by_index)

Ứng dụng thực tế

  • Xuất tài chính mà công thức phải mở với các giá trị đã lưu đúng
  • Mẫu nhập liệu với các cột đã định kiểu
  • Chỉnh sửa vòng qua cho sổ làm việc do người dùng cung cấp

Định dạng và Bố cục

  • Định dạng ô thông qua CellStyle với Font, Fill và Borders
  • Áp dụng cập nhật kiểu mục tiêu bằng StyleFlag
  • Định dạng số qua NumberFormat
  • In và bố cục trang qua PageSetup (kích thước giấy, hướng, lề)
  • Đóng băng các ô qua FreezePane; kiểm soát hiển thị hàng/cột

Tại sao nó quan trọng

  • Báo cáo có thương hiệu, sẵn sàng in trực tiếp từ các dịch vụ Rust
  • Xuất dữ liệu dễ đọc với định dạng số và ngày thích hợp
  • Bảng lớn vẫn dễ điều hướng với các hàng tiêu đề được cố định

Biểu đồ, Hình ảnh và Hình dạng

  • Thêm các loại biểu đồ cột, đường và các loại biểu đồ khác qua ChartType trên bộ sưu tập biểu đồ của sheet
  • Đọc lại các neo biểu đồ và loại biểu đồ từ các tệp đã tải (Chart, ChartCollection)
  • Nhúng hình ảnh bằng Picture và các hình dạng vẽ bằng Shape
  • Tối giản xu hướng trong ô bằng SparklineGroup

Các trường hợp sử dụng

  • Bảng điều khiển và sổ công việc KPI được tạo theo lịch trình
  • Tóm tắt trực quan được nhúng bên cạnh dữ liệu thô
  • Đặt biểu đồ tự động từ các dải dữ liệu

Phân tích dữ liệu và bảo vệ

  • Quy tắc định dạng có điều kiện qua FormatCondition
  • Quy tắc xác thực dữ liệu qua Validation với OperatorType
  • Bộ lọc tự động qua AutoFilter; bảng có cấu trúc qua ListObject
  • Tên đã định nghĩa qua DefinedName; bảo vệ qua WorkbookProtection và WorksheetProtection
  • Tải XLSX mạnh mẽ với các cờ sửa chữa của LoadOptions và LoadDiagnostics

Ai được lợi

  • Các nhóm giao sổ làm việc nhập dữ liệu đã được xác thực
  • Dịch vụ tiếp nhận các tệp XLSX của bên thứ ba có thể cần sửa chữa
  • Các nhà phân tích nhận các báo cáo đã được lọc trước và được bảo vệ

Tạo, Lưu và Tải lại một Workbook

Tạo một workbook, ghi các giá trị có kiểu và một công thức với kết quả được lưu trong bộ nhớ đệm, lưu nó dưới dạng XLSX, và tải lại:

use aspose_cells_foss_rust::{CellValue, Workbook};
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    // Create a new workbook (starts with one sheet, "Sheet1").
    let mut workbook = Workbook::new();
    {
        let mut worksheets = workbook.get_worksheets_mut();
        let sheet = worksheets.get(0)?;
        let mut cells = sheet.get_cells_mut();

        cells.get("A1")?.put_value_string("Hello")?;
        cells.get("B1")?.put_value_i32(123)?;
        cells.get("C1")?.put_value_bool(true)?;
        cells.get("D1")?.put_value_decimal(12.5)?;
        cells.get("F1")?.put_value_i32(10)?;
        cells.get("G1")?
            .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
    }
    workbook.save("hello.xlsx")?;

    // Load it back.
    let loaded = Workbook::load_xlsx("hello.xlsx")?;
    let sheet = loaded.worksheet("Sheet1")?;
    let cells = sheet.get_cells();
    println!("A1 = {}", cells.get("A1")?.display_string_value());

    Ok(())
}

Tải các tệp XLSX với các tùy chọn sửa chữa

Mở các workbook một cách phòng thủ bằng các cờ sửa chữa của LoadOptions và kiểm tra chẩn đoán tải có cấu trúc:

let options = LoadOptions {
    try_repair_package: true,
    try_repair_xml: true,
    ..LoadOptions::default()
};

let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();

println!("Saved: {}", valid_path.display());
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

Thêm biểu đồ từ các phạm vi dữ liệu

Điền một phạm vi dữ liệu, sau đó neo các biểu đồ cột và đường vào nó:

let mut charts = sheet.get_charts();
charts.add(
    ChartType::Column,
    "Charts!$B$1:$B$13".to_string(),
    0,
    4,
    18,
    8,
)?;
charts.add(
    ChartType::Line,
    "Charts!$C$1:$C$13".to_string(),
    0,
    9,
    18,
    13,
)?;

Câu Hỏi Thường Gặp

Giấy phép nào mà Aspose.Cells FOSS for Rust sử dụng?

Gói này được phát hành theo MIT License; toàn văn bản được cung cấp trong kho lưu trữ dưới dạng LICENSE.txt.

Tôi có thể sử dụng nó trong các sản phẩm thương mại không?

Đúng. Giấy phép MIT cho phép sử dụng thương mại, sửa đổi và phân phối lại, với điều kiện giữ nguyên thông báo bản quyền và giấy phép.

Làm thế nào để cài đặt crate?

Thêm aspose-cells-foss-rust vào Cargo.toml của bạn như một phụ thuộc git từ kho GitHub.

Các định dạng nào có thể đọc và ghi?

XLSX, với khả năng đọc và ghi vòng tròn đầy đủ qua Workbook::load_xlsx và lưu. Các định dạng bảng tính khác không được hỗ trợ trong phiên bản hiện tại.

Có cần Microsoft Office không?

Không. Thư viện đọc và ghi định dạng gói XLSX trực tiếp — không cần cài đặt Office, tự động hoá COM, hoặc môi trường chạy bên ngoài.

  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt