Introduction
La gestion des feuilles de calcul est le cœur de la crate aspose-cells-foss-rust : les objets qui modélisent un classeur, ses feuilles et leurs cellules, ainsi que les opérations qui transforment les données Rust en fichiers XLSX présentables. Cet article parcourt cette surface — de la création de feuilles et de l’écriture de valeurs typées au style, à la mise en page, et aux fonctionnalités structurelles qui rendent les classeurs utilisables : commentaires, hyperliens, tableaux et noms définis.
Tout ce qui est présenté ici fait partie de la crate open-source sous licence MIT. Aucune installation de Microsoft Office n’est requise à aucun moment ; la bibliothèque lit et écrit directement le format de paquet XLSX.
Cette section a été révisée par rapport au modèle source actuel pour le comportement le plus récent du produit et la couverture API.
Fonctionnalités clés
Feuilles de calcul et collections de cellules
Les feuilles de calcul sont gérées via les collections de feuilles du classeur. Les feuilles sont référencées par indice ou par nom, renommées avec set_name, et leurs cellules sont accessibles via get_cells (lecture) ou get_cells_mut (écriture) :
let mut workbook = Workbook::new();
{
let mut worksheets = workbook.get_worksheets_mut();
let sheet = worksheets.get(0)?;
sheet.set_name("Charts")?;
{
let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Month")?;
cells.get("B1")?.put_value_string("Sales")?;
}
}
Valeurs typées par nom ou index
Les cellules acceptent des chaînes, des entiers, des booléens, des décimaux et des dates-heures via des setters typés. Les cellules peuvent être adressées au format A1 (get("B3")) ou numériquement (get_by_index(row, column)), ce qui convient aux mises en page générées :
for month in 1..=12_u32 {
cells
.get_by_index(month, 0)
.put_value_string(format!("Month {month}"))?;
cells
.get_by_index(month, 1)
.put_value_i32((month as i32 * 1000) + (month as i32 * 50))?;
}
Formules avec valeurs mises en cache
put_formula_with_cached_value stocke le texte de la formule ainsi que la valeur qu’Excel doit afficher avant son premier recalcul — important lorsque le fichier est utilisé par d’autres outils qui lisent les résultats mis en cache :
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
Mise en forme et mise en page
CellStyle contient Font, Fill et Borders ; StyleFlag sélectionne les aspects de style auxquels une mise à jour s’applique. NumberFormat contrôle le rendu des valeurs, et PageSetup gère PaperSizeType et PageOrientationType pour l’impression. FreezePane et le VisibilityType des lignes/colonnes permettent de garder les grandes feuilles navigables.
Commentaires, hyperliens et noms
Les flux de travail et la navigation des réviseurs sont pris en charge par Comment et CommentCollection, Hyperlink avec HyperlinkCollection, ainsi que DefinedName avec DefinedNameCollection pour les plages nommées.
Tableaux structurés et filtres
ListObject transforme une plage en tableau structuré avec le style TableStyleType et des lignes de TotalsCalculation ; AutoFilter ajoute le filtrage avec les conditions FilterColumn et FilterOperatorType.
Démarrage rapide
Ajoutez la crate à votre Cargo.toml en tant que dépendance git (la crate n’est pas encore publiée sur crates.io) :
# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }Une session minimale de gestion de tableur — créer, écrire, enregistrer, recharger :
use aspose_cells_foss_rust::{CellValue, Workbook};
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
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")?;
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());
Ok(())
}
Formats pris en charge
| Format | Extension | Lire | Écrire |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
Le chargement accepte les drapeaux de réparation LoadOptions (try_repair_package, try_repair_xml) avec des LoadDiagnostics structurés ; l’enregistrement s’effectue via save, save_xlsx ou save_with_format avec l’énumération SaveFormat.
Open Source & Licence
Aspose.Cells FOSS pour Rust est sous licence MIT. Le code source se trouve sur GitHub; l’utilisation commerciale, la modification et la redistribution sont autorisées.
Premiers pas
- Premiers pas
- Guide du développeur
- Travailler avec la gestion des feuilles de calcul
- Articles de la base de connaissances
- API Reference
- Page produit