Come caricare un foglio di calcolo in Rust

Come caricare un foglio di calcolo in Rust

Aspose.Cells FOSS per Rust carica cartelle di lavoro Excel XLSX direttamente dal formato del pacchetto — non è necessario Microsoft Office. Questa guida installa il crate aspose-cells-foss-rust tramite Cargo, carica una cartella di lavoro con Workbook::load_xlsx e gestisce file imperfetti con i flag di riparazione LoadOptions e LoadDiagnostics.

Guida passo-passo

Passo 1: Installa il pacchetto

Aggiungi il crate al tuo Cargo.toml come dipendenza git di Cargo:

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

Quindi compila il progetto:

cargo build

Passo 2: Importa le classi richieste

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

Passo 3: Crea un file di esempio da caricare

Se non hai già un workbook sul disco, scrivine uno prima:

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

Passo 4: Carica il workbook

Workbook::load_xlsx apre un file XLSX ben formattato:

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

Passo 5: Carica in modo difensivo con opzioni di riparazione

Per i file di terze parti, abilita i flag di riparazione e ispeziona le diagnosi raccolte dal caricatore:

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

Problemi comuni e soluzioni

La chiamata di caricamento restituisce un errore per un file che si apre in Excel. Enable try_repair_package and try_repair_xml in LoadOptions e carica tramite Workbook::load_xlsx_with_options — Excel tollera alcune irregolarità del pacchetto che il caricamento rigido rifiuta.

worksheet("Sheet1") fallisce dopo il caricamento. Il foglio potrebbe avere un nome diverso. Elenca tramite get_worksheets oppure recupera per indice attraverso la collezione dei fogli di lavoro.

I valori vengono letti di nuovo come stringhe vuote. Usa display_string_value sulla cella per il suo testo visualizzato e verifica value_type per vedere cosa è effettivamente memorizzato.

Le formule mostrano risultati obsoleti. Il loader conserva i valori memorizzati nella cache nel file; il ricalcolo è di competenza del consumatore. Durante la scrittura, passa sempre un valore cache corretto a put_formula_with_cached_value.

Domande frequenti

Quali formati possono essere caricati?

Solo XLSX nella versione attuale. L’enum LoadFormat copre Auto e Xlsx.

Devo avere Microsoft Office installato?

No. Il crate analizza direttamente il pacchetto XLSX; non è coinvolto Office, COM o alcun runtime esterno.

Come faccio a sapere se il loader ha riparato qualcosa?

Leggi get_load_diagnostics sul workbook caricato — LoadDiagnostics elenca i problemi riscontrati durante il caricamento.

Vedi anche

 Italiano