Travailler avec la gestion des feuilles de calcul

Travailler avec la gestion des feuilles de calcul

Travailler avec la gestion des feuilles de calcul

La gestion des feuilles de calcul couvre la surface d’objet quotidienne de la crate: les feuilles de calcul, les collections de cellules, les valeurs typées, les formules, le style, et les fonctionnalités structurelles qui rendent un classeur utilisable. Le point d’entrée est toujours un Workbook.


Worksheets

Les feuilles sont gérées via les collections de feuilles de calcul du classeur— accès en lecture via get_worksheets, mutation via get_worksheets_mut. Les feuilles sont adressées par indice (get(0)) ou par nom (get_by_name), renommées avec set_name, et ajoutées avec add_worksheet:

let mut workbook = Workbook::new();
{
    let mut worksheets = workbook.get_worksheets_mut();
    let sheet = worksheets.get(0)?;
    sheet.set_name("Data")?;
}

Accès aux cellules et valeurs typées

Les cellules sont adressées au format A1 ou numériquement. get_by_index(row, column) convient aux mises en page générées:

let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Month")?;
for month in 1..=12_u32 {
    cells
        .get_by_index(month, 0)
        .put_value_string(format!("Month {month}"))?;
}

En lecture, display_string_value renvoie le texte affiché et value_type indique le type stocké.


Formules avec 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))?;

La valeur mise en cache est ce qu’Excel affiche avant son premier recalcul — fournissez-la afin que les utilisateurs du fichier voient les résultats corrects immédiatement.


Styling

CellStyle agrège Font, Fill et Borders ; StyleFlag contrôle quels aspects du style une mise à jour applique, de sorte que le formatage existant est préservé lorsqu’il n’est pas remplacé. NumberFormat détermine la façon dont les valeurs sont rendues.


Mise en page et navigation

PageSetup gère la mise en page d’impression: PaperSizeType, PageOrientationType et les marges. FreezePane maintient les lignes d’en-tête visibles lors du défilement, et la visibilité des lignes et colonnes utilise VisibilityType.


Structure: Tableaux, Noms, Commentaires, Hyperliens

  • ListObject transforme une plage en tableau structuré avec le style TableStyleType et les lignes de totaux TotalsCalculation.
  • DefinedName et DefinedNameCollection gèrent les plages nommées.
  • Comment / CommentCollection et Hyperlink / HyperlinkCollection couvrent l’annotation et la navigation.

Conseils et bonnes pratiques

  • Gardez les emprunts mutables (get_worksheets_mut, get_cells_mut) à l’intérieur d’un bloc de portée; enregistrez le classeur après la fermeture du bloc.
  • Utilisez get_by_index pour les boucles et les mises en page générées; les noms A1 pour les positions fixes.
  • Appliquez des styles avec un StyleFlag afin que le formatage non concerné reste intact.
  • Nommez les plages importantes avec DefinedName au lieu de coder en dur les adresses.

Problèmes courants

ProblèmeCauseCorrection
Erreur d’emprunt lors de l’enregistrement du classeurEmprunt mutable de la feuille de calcul toujours actifFermez le bloc de portée avant d’appeler save
La formule affiche 0 dans ExcelAucune valeur mise en cache fournieUtilisez put_formula_with_cached_value avec le résultat attendu
Feuille introuvableNom non correspondantAdresse par index ou vérifiez l’orthographe de set_name

FAQ

Comment ajouter une deuxième feuille de calcul?

Appelez add_worksheet sur le classeur, puis récupérez-le via la collection de feuilles de calcul par index ou par nom.

Puis-je lire et écrire en une seule passe?

Oui — chargez avec Workbook::load_xlsx, modifiez via get_worksheets_mut, et save vers le même chemin ou un nouveau.

Les setters typés convertissent-ils les valeurs?

Aucune conversion n’est appliquée: chaque setter put_value_* stocke son type natif; display_string_value rend le texte affiché lors de la lecture.


API Reference Résumé

Classe/MéthodeDescription
Workbook.add_worksheetAjoutez une feuille au classeur
Worksheet.set_nameRenommer une feuille
Worksheet.get_cells_mutCollection mutable de cellules
CellMut.put_value_stringDéfinisseur de chaîne typée
CellMut.put_formula_with_cached_valueFormule plus résultat mis en cache
CellStyleMise en forme de police, de remplissage et de bordure
StyleFlagSélectionne les aspects de style à appliquer
PageSetupImpression et mise en page
ListObjectTableaux structurés

Voir aussi

 Français