Εισαγωγή

Η διαχείριση υπολογιστικών φύλλων είναι ο πυρήνας του aspose-cells-foss-rust crate: τα αντικείμενα που μοντελοποιούν ένα βιβλίο εργασίας, τα φύλλα του και τα κελιά τους, καθώς και οι λειτουργίες που μετατρέπουν δεδομένα Rust σε παρουσιάσιμα αρχεία XLSX. Αυτή η ανάρτηση εξετάζει αυτή την επιφάνεια — από τη δημιουργία φύλλων και τη συγγραφή τιμών με τύπο, μέχρι το στυλ, τη διάταξη σελίδας και τα δομικά χαρακτηριστικά που κάνουν τα βιβλία εργασίας χρήσιμα: σχόλια, υπερσυνδέσμους, πίνακες και ορισμένα ονόματα.

Ό,τι φαίνεται εδώ αποτελεί μέρος του ανοιχτού κώδικα, crate υπό άδεια MIT. Σε καμία φάση δεν απαιτείται εγκατάσταση του Microsoft Office· η βιβλιοθήκη διαβάζει και γράφει απευθείας τη μορφή πακέτου XLSX.

Αυτή η ενότητα έχει επανεξεταστεί σε σχέση με το τρέχον μοντέλο πηγαίου κώδικα για τη νεότερη συμπεριφορά του προϊόντος και την κάλυψη του API.


Κύρια Χαρακτηριστικά

Φύλλα Εργασίας και Συλλογές Κελιών

Τα φύλλα εργασίας διαχειρίζονται μέσω των συλλογών φύλλων εργασίας του βιβλίου εργασίας. Τα φύλλα προσπελαύνονται με βάση το δείκτη ή το όνομα, μετονομάζονται με set_name, και τα κελιά τους προσεγγίζονται μέσω get_cells (ανάγνωση) ή get_cells_mut (εγγραφή):

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

Τυποποιημένες Τιμές κατά Όνομα ή Δείκτη

Τα κελιά δέχονται συμβολοσειρές, ακέραιους, λογικές τιμές, δεκαδικά και ημερομηνίες-ώρες μέσω τύπων setter. Τα κελιά μπορούν να προσεγγιστούν με το στυλ A1 (get("B3")) ή αριθμητικά (get_by_index(row, column)), κάτι που ταιριάζει με τις παραγόμενες διατάξεις:

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

Τύποι με Αποθηκευμένες Τιμές

put_formula_with_cached_value αποθηκεύει το κείμενο του τύπου μαζί με την τιμή που πρέπει να εμφανίσει το Excel πριν από την πρώτη επαναϋπολογισμό — σημαντικό όταν το αρχείο χρησιμοποιείται από άλλα εργαλεία που διαβάζουν τα αποθηκευμένα αποτελέσματα:

cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
    .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;

Στυλ και Διάταξη Σελίδας

CellStyle περιλαμβάνει Font, Fill και Borders; το StyleFlag επιλέγει ποια στοιχεία στυλ εφαρμόζει μια ενημέρωση. Το NumberFormat ελέγχει την απόδοση της τιμής, και το PageSetup διαχειρίζεται το PaperSizeType και το PageOrientationType για εκτύπωση. Το FreezePane και το VisibilityType για γραμμές/στήλες διατηρούν τα μεγάλα φύλλα ευκολοπρόσβαστα.

Σχόλια, Υπερσυνδέσεις και Ονόματα

Οι ροές εργασίας και η πλοήγηση των αξιολογητών καλύπτονται από το Comment και το CommentCollection, το Hyperlink με το HyperlinkCollection, και το DefinedName με το DefinedNameCollection για ονομαστικές περιοχές.

Δομημένοι Πίνακες και Φίλτρα

ListObject μετατρέπει μια περιοχή σε δομημένο πίνακα με στυλ TableStyleType και σειρές TotalsCalculation; AutoFilter προσθέτει φιλτράρισμα με συνθήκες FilterColumn και FilterOperatorType.


Γρήγορη Έναρξη

Προσθέστε το crate στο Cargo.toml ως εξάρτηση git (το crate δεν έχει ακόμη δημοσιευτεί στο crates.io):

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

Μια ελάχιστη συνεδρία διαχείρισης λογιστικού φύλλου — δημιουργία, εγγραφή, αποθήκευση, επαναφόρτωση:

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

Υποστηριζόμενες Μορφές

ΜορφήΕπέκτασηΑνάγνωσηΕγγραφή
XLSX.xlsx

Η φόρτωση δέχεται σημαίες επισκευής LoadOptions (try_repair_package, try_repair_xml) με δομημένα LoadDiagnostics; η αποθήκευση γίνεται μέσω save, save_xlsx ή save_with_format με το SaveFormat enum.


Ανοιχτό Λογισμικό & Άδειες

Aspose.Cells FOSS για Rust είναι αδειοδοτημένο υπό MIT. Ο πηγαίος κώδικας βρίσκεται στο GitHub; η εμπορική χρήση, η τροποποίηση και η αναδιανομή επιτρέπονται.


Ξεκινώντας

Σχετικοί Πόροι