Comment charger une feuille de calcul en Rust

Comment charger une feuille de calcul en Rust

Aspose.Cells FOSS pour Rust charge les classeurs Excel XLSX directement à partir du format de paquet — aucun Microsoft Office n’est requis. Ce guide installe la crate aspose-cells-foss-rust via Cargo, charge un classeur avec Workbook::load_xlsx, et gère les fichiers imparfaits avec les drapeaux de réparation LoadOptions et LoadDiagnostics.

Guide étape par étape

Étape 1 : Installer le paquet

Ajoutez la crate à votre Cargo.toml en tant que dépendance git Cargo :

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

Ensuite, compilez le projet :

cargo build

Étape 2: Importer les classes requises

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

Étape 3: Créer un fichier d’exemple à charger

Si vous n’avez pas encore de classeur sur le disque, créez-en un d’abord:

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

Étape 4: Charger le classeur

Workbook::load_xlsx ouvre un fichier XLSX bien formé:

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

Étape 5: Charger de manière défensive avec les options de réparation

Pour les fichiers provenant de tiers, activez les drapeaux de réparation et examinez les diagnostics collectés par le chargeur:

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

Problèmes courants et solutions

L’appel de chargement renvoie une erreur pour un fichier qui s’ouvre dans Excel. Enable try_repair_package and try_repair_xml in LoadOptions et charger via Workbook::load_xlsx_with_options — Excel tolère certaines irrégularités du package que le chargement strict rejette.

worksheet("Sheet1") échoue après le chargement. La feuille peut avoir un nom différent. Énumérez via get_worksheets ou récupérez par index via la collection de feuilles de calcul à la place.

Les valeurs sont lues comme des chaînes vides. Utilisez display_string_value sur la cellule pour son texte d’affichage et vérifier value_type pour voir ce qui est réellement stocké.

Les formules affichent des résultats obsolètes. Le chargeur préserve les valeurs en cache stockées dans le fichier ; le recalcul est la responsabilité du consommateur. Lors de l’écriture, transmettez toujours une valeur en cache correcte à put_formula_with_cached_value.

Questions fréquemment posées

Quels formats peuvent être chargés?

XLSX uniquement dans la version actuelle. L’énumération LoadFormat couvre Auto et Xlsx.

Ai-je besoin d’installer Microsoft Office?

Non. La crate analyse directement le package XLSX; aucun Office, COM ou runtime externe n’est impliqué.

Comment savoir si le chargeur a réparé quelque chose?

Lisez get_load_diagnostics sur le classeur chargé — LoadDiagnostics répertorie les problèmes rencontrés lors du chargement.

Voir aussi

 Français