Εργασία με Διαχείριση Φύλλων Εργασίας
Εργασία με Διαχείριση Φύλλων Υπολογισμού
Η διαχείριση Φύλλων Υπολογισμού καλύπτει την καθημερινή επιφάνεια αντικειμένων του crate: worksheets, cell collections, typed values, formulas, styling, και τα structural features που κάνουν ένα workbook χρηστικό. Το σημείο εισόδου είναι πάντα ένα Workbook.
Worksheets
Τα Sheets διαχειρίζονται μέσω των συλλογών worksheet του workbook — πρόσβαση ανάγνωσης μέσω get_worksheets, τροποποίηση μέσω get_worksheets_mut. Τα Sheets προσδιορίζονται με δείκτη (get(0)) ή όνομα (get_by_name), μετονομάζονται με set_name, και προστίθενται με add_worksheet:
let mut workbook = Workbook::new();
{
let mut worksheets = workbook.get_worksheets_mut();
let sheet = worksheets.get(0)?;
sheet.set_name("Data")?;
}Cell Πρόσβαση και Typed Values
Cells are addressed A1-style ή numerically. get_by_index(row, column) ανταποκρίνεται σε δημιουργημένες διατάξεις:
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}"))?;
}Κατά την ανάγνωση, display_string_value returns το κείμενο εμφάνισης και value_type reports the stored type.
Formulas με Cached Results
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;Η cached τιμή είναι αυτό που το Excel εμφανίζει πριν από την πρώτη του επανυπολογισμό — παρέχετε την έτσι ώστε οι καταναλωτές του αρχείου να βλέπουν σωστά results αμέσως.
Styling
CellStyle συγκεντρώνει Font, Fill και Borders; StyleFlag ελέγχει ποια style στοιχεία εφαρμόζει μια ενημέρωση, ώστε η υπάρχουσα μορφοποίηση να διατηρείται όπου δεν την αντικαθιστάτε. NumberFormat καθορίζει πώς values αποδίδονται.
Page Setup και Navigation
PageSetup manages διάταξη εκτύπωσης: PaperSizeType, PageOrientationType, και περιθώρια. FreezePane διατηρεί γραμμές κεφαλίδας ορατές κατά τη κύλιση, και η ορατότητα γραμμής και στήλης χρησιμοποιεί VisibilityType.
Structure: Πίνακες, Ονόματα, Σχόλια, Υπερσύνδεσμοι
ListObjectμετατρέπει μια περιοχή σε ένα structured πίνακα μεTableStyleTypestyling καιTotalsCalculationγραμμές συνόλων.DefinedNameκαιDefinedNameCollectionδιαχειρίζονται τις ονομαστικές περιοχές.Comment/CommentCollectionκαιHyperlink/HyperlinkCollectionκαλύπτουν την επεξήγηση και την πλοήγηση.
Συμβουλές και Καλές Πρακτικές
- Διατηρήστε τις μεταβλητές δανεισμούς (
get_worksheets_mut,get_cells_mut) εντός ενός μπλοκ περιοχής· αποθηκεύστε το βιβλίο εργασίας μετά το κλείσιμο του μπλοκ. - Χρησιμοποιήστε το
get_by_indexγια βρόχους και παραγόμενες διατάξεις· ονόματα A1 για σταθερές θέσεις. - Εφαρμόστε στυλ με ένα
StyleFlagώστε η ανεξάρτητη μορφοποίηση να παραμείνει αμετάβλητη. - Ονομάστε τις σημαντικές περιοχές με το
DefinedNameαντί για σκληρή κωδικοποίηση διευθύνσεων.
Συνηθισμένα Προβλήματα
| Πρόβλημα | Αιτία | Διόρθωση |
|---|---|---|
| Σφάλμα δανεισμού κατά την αποθήκευση του βιβλίου εργασίας | Ο δανεισμός μεταβλητού φύλλου εργασίας εξακολουθεί να είναι ενεργός | Κλείστε το μπλοκ εμβέλειας πριν καλέσετε το save |
| Ο τύπος εμφανίζει 0 στο Excel | Δεν παρέχεται αποθηκευμένη τιμή | Χρησιμοποιήστε put_formula_with_cached_value με το αναμενόμενο αποτέλεσμα |
| Το φύλλο δεν βρέθηκε | Ασυμφωνία ονόματος | Διεύθυνση κατά δείκτη ή ελέγξτε την ορθογραφία του set_name |
FAQ
Πώς προσθέτω ένα δεύτερο φύλλο εργασίας;
Καλώ add_worksheet στο βιβλίο εργασίας, έπειτα το ανακτώ μέσω της συλλογής φύλλων εργασίας με δείκτη ή όνομα.
Μπορώ να διαβάσω και να γράψω στο ίδιο πέρασμα;
Ναι — φόρτωση με Workbook::load_xlsx, τροποποίηση μέσω get_worksheets_mut, και save στην ίδια ή σε νέα διαδρομή.
Οι typed setters μετατρέπουν τιμές;
Δεν εφαρμόζονται μετατροπές: κάθε put_value_* setter αποθηκεύει τον εγγενή του τύπο· display_string_value αποδίδει το κείμενο εμφάνισης κατά την ανάγνωση.
API Reference Περίληψη
| Κλάση/Μέθοδος | Περιγραφή |
|---|---|
Workbook.add_worksheet | Προσθέστε ένα φύλλο στο βιβλίο εργασίας |
Worksheet.set_name | Μετονομασία φύλλου |
Worksheet.get_cells_mut | Μεταβλητό cell συλλογή |
CellMut.put_value_string | Τυποποιημένος οριστής συμβολοσειράς |
CellMut.put_formula_with_cached_value | Τύπος συν αποθηκευμένο αποτέλεσμα |
CellStyle | Μορφοποίηση γραμματοσειράς, γεμίσματος και περιγράμματος |
StyleFlag | Επιλέγει ποια στοιχεία στυλ εφαρμόζονται |
PageSetup | Εκτύπωση και διάταξη σελίδας |
ListObject | Δομημένοι πίνακες |