Εισαγωγή

Aspose.Cells FOSS για Rust φέρνει την οικογένεια Aspose.Cells FOSS στο οικοσύστημα Rust. Το crate aspose-cells-foss-rust επιτρέπει στις εφαρμογές Rust να δημιουργούν βιβλία εργασίας Excel XLSX από το μηδέν, να φορτώνουν υπάρχοντα αρχεία, να τροποποιούν το περιεχόμενό τους και να αποθηκεύουν το αποτέλεσμα — χωρίς εγκατάσταση Microsoft Office, αυτοματοποίηση COM ή εξωτερικό runtime.

Το crate είναι αδειοδοτημένο υπό MIT και στοχεύει στην έκδοση Rust 2021. Ακολουθεί τις συμβάσεις που αναμένουν οι προγραμματιστές Rust: κατασκευαστές όπως Workbook::new, διαχείριση σφαλμάτων βασισμένη σε Result μέσω του CellsError, και ρητοί μεταβλητοί πρόσβασοι όπως get_worksheets_mut και get_cells_mut που διατηρούν τους κανόνες δανεισμού σαφείς. Εάν δημιουργείτε υπηρεσίες backend, εργαλεία CLI ή pipelines δεδομένων που χρειάζονται δημιουργία ή κατανάλωση υπολογιστικών φύλλων, αυτή η βιβλιοθήκη σας προσφέρει έναν εγγενή τρόπο για να το κάνετε.

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

Το Aspose.Cells FOSS είναι ήδη διαθέσιμο για .NET, C++, Java, Python και TypeScript· το crate Rust εντάσσεται στην οικογένεια με την ίδια εστίαση: ειλικρινή, επαληθεύσιμη υποστήριξη XLSX υπό μια επιεική άδεια.


Τι Περιλαμβάνεται

Βιβλία εργασίας, Φύλλα εργασίας και Τυποποιημένες Τιμές Κελιών

Ένα Workbook ξεκινά με ένα φύλλο εργασίας και μεγαλώνει μέσω του add_worksheet. Τα κελιά δέχονται τυποποιημένες τιμές — strings, integers, booleans, decimals και date-times — μέσω ειδικών setters, έτσι δεν χρειάζονται μετατροπές τύπου string.:

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("Hello")?;
    cells.get("B1")?.put_value_i32(123)?;
    cells.get("C1")?.put_value_bool(true)?;
    cells.get("D1")?.put_value_decimal(12.5)?;
}
workbook.save("hello.xlsx")?;

Τύποι με Αποθηκευμένα Αποτελέσματα

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

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

Διαγράμματα Συνδεδεμένα με Περιοχές Δεδομένων

Οι τύποι γραφήματος στήλης, γραμμής και άλλοι από το enum ChartType μπορούν να αγκυροβοληθούν σε περιοχές κελιών σε ένα φύλλο εργασίας, και η γεωμετρία του γραφήματος μπορεί να ανακτηθεί από τα φορτωμένα αρχεία:

let mut charts = sheet.get_charts();
charts.add(
    ChartType::Column,
    "Charts!$B$1:$B$13".to_string(),
    0,
    4,
    18,
    8,
)?;

Στυλ, Ρυθμίσεις Σελίδας και Δομή

Η μορφοποίηση κελιών διαχειρίζεται μέσω του CellStyle με Font, Fill και Borders, που εφαρμόζονται επιλεκτικά με το StyleFlag. Το PageSetup ελέγχει το μέγεθος και τον προσανατολισμό του χαρτιού για εκτύπωση, το FreezePane διατηρεί τις γραμμές κεφαλίδας ορατές, και οι δομημένοι πίνακες εμφανίζονται μέσω του ListObject με TableStyleType.

Επικύρωση, Μορφοποίηση υπό Όρους και Φίλτρα

Οι δυνατότητες ποιότητας δεδομένων αποτελούν μέρος της βασικής επιφάνειας: κανόνες Validation με OperatorType, υπό-συνθήκη μορφοποίηση μέσω FormatCondition, αυτόματοι φίλτροι με AutoFilter, ορισμένα ονόματα με DefinedName, και προστασία βιβλίου εργασίας ή φύλλου εργασίας μέσω WorkbookProtection και WorksheetProtection.

Αμυντική Φόρτωση με Διαγνωστικά

Τα πραγματικά αρχεία XLSX δεν είναι πάντα καλά δομημένα. LoadOptions εκθέτει σημαίες επισκευής, και LoadDiagnostics αναφέρει τι αντιμετώπισε ο φορτωτής:

let options = LoadOptions {
    try_repair_package: true,
    try_repair_xml: true,
    ..LoadOptions::default()
};

let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

Γρήγορη Εκκίνηση

Προσθέστε το 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>> {
    // Create a new workbook (starts with one sheet, "Sheet1").
    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("Hello")?;
        cells.get("B1")?.put_value_i32(123)?;
        cells.get("G1")?
            .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
    }
    workbook.save("hello.xlsx")?;

    // Load it back.
    let loaded = Workbook::load_xlsx("hello.xlsx")?;
    let sheet = loaded.worksheet("Sheet1")?;
    let cells = sheet.get_cells();
    println!("A1 = {}", cells.get("A1")?.display_string_value());

    Ok(())
}

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

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

Το XLSX είναι το επίκεντρο της τρέχουσας έκδοσης: πλήρης κυκλική ανάγνωση και εγγραφή μέσω Workbook::load_xlsx και Workbook::save, με τα enum LoadFormat και SaveFormat που διαχειρίζονται την ρητή επιλογή μορφής.


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

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


Ξεκινώντας

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