Cum să încarci un spreadsheet în Rust

Cum să încarci un spreadsheet în Rust

Aspose.Cells FOSS pentru Rust încarcă registrele Excel XLSX direct din formatul pachetului — nu este necesar Microsoft Office. Acest ghid instalează crate-ul aspose-cells-foss-rust prin Cargo, încarcă un registru cu Workbook::load_xlsx și gestionează fișierele imperfecte cu steagurile de reparare LoadOptions și LoadDiagnostics.

Ghid pas cu pas

Pasul 1: Instalează pachetul

Adaugă crate-ul la Cargo.toml ca dependență Cargo git:

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

Apoi compilează proiectul:

cargo build

Pasul 2: Importă clasele necesare

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

Pasul 3: Creează un fișier de probă pentru încărcare

Dacă nu ai deja un registru de lucru pe disc, scrie unul mai întâi:

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")?;

Pasul 4: Încarcă registrul de lucru

Workbook::load_xlsx deschide un fișier XLSX bine formatat:

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());

Pasul 5: Încarcă în mod defensiv cu opțiuni de reparare

Pentru fișiere de la terți, activează flag-urile de reparare și inspectează diagnosticele colectate de încărcător:

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()
);

Probleme comune și remedii

Apelul de încărcare returnează o eroare pentru un fișier care se deschide în Excel. Enable try_repair_package and try_repair_xml in LoadOptions și încarcă prin Workbook::load_xlsx_with_options — Excel tolerează unele neregularități ale pachetului pe care încărcarea strictă le respinge.

worksheet("Sheet1") eșuează după încărcare. Foaia poate avea un alt nume. Enumeră prin get_worksheets sau preia prin index din colecția de foi de lucru în schimb.

Valorile citite înapoi sunt șiruri goale. Folosește display_string_value pe celulă pentru textul său afișat și verificați value_type pentru a vedea ce este stocat de fapt.

Formulele afișează rezultate învechite. Încărcătorul păstrează valorile în cache stocate în fișier; recalcularea este responsabilitatea consumatorului. Când scrieți, transmiteți întotdeauna o valoare în cache corectă către put_formula_with_cached_value.

Întrebări frecvente

Ce formate pot fi încărcate?

Doar XLSX în versiunea curentă. Enumerația LoadFormat acoperă Auto și Xlsx.

Trebuie să am instalat Microsoft Office?

Nu. Cratea parsează pachetul XLSX direct; nu este implicat Office, COM sau vreun runtime extern.

Cum pot să știu dacă încărcătorul a reparat ceva?

Citește get_load_diagnostics pe registrul de lucru încărcat — LoadDiagnostics enumeră problemele întâlnite în timpul încărcării.

Vezi și:

 Română