Cách tải bảng tính trong Rust

Cách tải bảng tính trong Rust

Aspose.Cells FOSS cho Rust tải các workbook Excel XLSX trực tiếp từ định dạng gói — không cần Microsoft Office. Hướng dẫn này cài đặt crate aspose-cells-foss-rust qua Cargo, tải một workbook bằng Workbook::load_xlsx, và xử lý các tệp không hoàn hảo bằng các cờ sửa chữa LoadOptions và LoadDiagnostics.

Hướng dẫn từng bước

Bước 1: Cài đặt gói

Thêm crate vào Cargo.toml của bạn như một phụ thuộc git của Cargo:

# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }

Sau đó biên dịch dự án:

cargo build

Bước 2: Nhập các lớp cần thiết

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

Bước 3: Tạo tệp mẫu để tải

Nếu bạn chưa có sổ làm việc nào trên đĩa, hãy tạo một cái trước:

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("Item")?;
    cells.get("B1")?.put_value_string("Quantity")?;
    cells.get("A2")?.put_value_string("Apples")?;
    cells.get("B2")?.put_value_i32(12)?;
}
workbook.save("inventory.xlsx")?;

Bước 4: Tải sổ làm việc

Workbook::load_xlsx mở một tệp XLSX đúng định dạng:

let loaded = Workbook::load_xlsx("inventory.xlsx")?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();
println!("A2 = {}", cells.get("A2")?.display_string_value());

Bước 5: Tải một cách phòng thủ với các tùy chọn sửa chữa

Đối với các tệp từ bên thứ ba, bật các cờ sửa chữa và kiểm tra các chẩn đoán mà bộ tải đã thu thập:

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

let loaded = Workbook::load_xlsx_with_options("inventory.xlsx", &options)?;
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

Các vấn đề thường gặp và cách khắc phục

Lệnh load trả về lỗi cho một tệp có thể mở trong Excel. Enable try_repair_package and try_repair_xml in LoadOptions và tải qua Workbook::load_xlsx_with_options — Excel chịu được một số bất thường trong gói mà việc tải nghiêm ngặt sẽ từ chối.

worksheet("Sheet1") thất bại sau khi tải. Trang tính có thể có tên khác. Liệt kê qua get_worksheets hoặc lấy theo chỉ mục thông qua bộ sưu tập worksheet thay thế.

Các giá trị được đọc lại dưới dạng chuỗi rỗng. Sử dụng display_string_value trên ô để hiển thị văn bản và kiểm tra value_type để xem thực sự đã lưu gì.

Công thức hiển thị kết quả lỗi thời. Trình tải giữ nguyên các giá trị đã được lưu trong tệp; việc tính lại là mối quan tâm của người tiêu dùng. Khi ghi, luôn truyền một giá trị đã lưu đúng cho put_formula_with_cached_value.

Câu hỏi thường gặp

Các định dạng nào có thể được tải?

Chỉ hỗ trợ XLSX trong phiên bản hiện tại. enum LoadFormat bao gồm Auto và Xlsx.

Tôi có cần cài đặt Microsoft Office không?

Không. Crate phân tích gói XLSX trực tiếp; không có Office, COM, hay môi trường thực thi bên ngoài nào được sử dụng.

Làm sao tôi biết bộ tải đã sửa chữa gì không?

Đọc get_load_diagnostics trên workbook đã tải — LoadDiagnostics liệt kê các vấn đề gặp phải trong quá trình tải.

Xem thêm

 Tiếng Việt