Πώς να δημιουργήσετε ένα μοντέλο Cells FOSS σε Rust

Πώς να δημιουργήσετε ένα μοντέλο Cells FOSS σε Rust

Aspose.Cells FOSS for Rust μοντελοποιεί ένα βιβλίο εργασίας ως ένα δέντρο τυποποιημένων αντικειμένων — φύλλα εργασίας, συλλογές κελιών και αντικείμενα κανόνων όπως οι επικυρώσεις. Αυτός ο οδηγός δημιουργεί ένα πλήρες μοντέλο βιβλίου εργασίας από το μηδέν: τυποποιημένες τιμές κελιών, κανόνες επικύρωσης δεδομένων πάνω σε περιοχές CellArea, και ένα αποθηκευμένο αρχείο XLSX στο τέλος.

Οδηγός βήμα-βήμα

Βήμα 1: Εγκαταστήστε το πακέτο

Προσθέστε το crate στο Cargo.toml σας ως εξάρτηση Cargo git:

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

Στη συνέχεια, κατασκευάστε το έργο:

cargo build

Βήμα 2: Εισαγωγή Απαιτούμενων Κλάσεων

use aspose_cells_foss_rust::{
    CellArea, OperatorType, ValidationAlertType, ValidationType, Workbook,
};
use std::error::Error;

Βήμα 3: Δημιουργία του Workbook και των Δεδομένων Κελιών

Ξεκινήστε το μοντέλο με ένα Workbook, ονομάστε το φύλλο και γράψτε τιμές με καθορισμένο τύπο:

let mut workbook = Workbook::new();
{
    let mut worksheets = workbook.get_worksheets_mut();
    let sheet = worksheets.get(0)?;
    sheet.set_name("Validation Sheet")?;
    let mut cells = sheet.get_cells_mut();
    cells.get("A1")?.put_value_string("Open")?;
    cells.get("B2")?.put_value_i32(5)?;
    cells.get("G1")?.put_value_string("ABCDE")?;
}

Βήμα 4: Προσθήκη Επικύρωσης Λίστας

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

let mut validations = sheet.get_validations();
let list_index = validations.add(CellArea::create_cell_area_a1("A1", "A3")?)?;
let mut list_validation = validations
    .get(list_index)
    .expect("validation should exist");
list_validation.set_type(ValidationType::List);
list_validation.set_formula1("\"Open,Closed\"");
list_validation.set_in_cell_drop_down(true);
list_validation.set_show_input(true);
list_validation.set_input_title("Status");
list_validation.set_input_message("Pick a status");

Βήμα 5: Προσθήκη Εύρους και Προσαρμοσμένων Κανόνων

OperatorType καθορίζει κανόνες αριθμητικού εύρους, και ValidationType::Custom δέχεται τύπο· ValidationAlertType επιλέγει τη σοβαρότητα της ειδοποίησης:

let decimal_index = validations.add(CellArea::create_cell_area_a1("B2", "C3")?)?;
let mut decimal_validation = validations
    .get(decimal_index)
    .expect("validation should exist");
decimal_validation.set_type(ValidationType::Decimal);
decimal_validation.set_operator(OperatorType::Between);
decimal_validation.set_formula1("1.5");
decimal_validation.set_formula2("9.5");
decimal_validation.set_show_error(true);

let custom_index = validations.add(CellArea::create_cell_area_a1("G1", "G1")?)?;
let mut custom_validation = validations
    .get(custom_index)
    .expect("validation should exist");
custom_validation.set_type(ValidationType::Custom);
custom_validation.set_alert_style(ValidationAlertType::Warning);
custom_validation.set_formula1("LEN(G1)<=5");

Βήμα 6: Αποθήκευση του Μοντέλου

workbook.save("validations-sample.xlsx")?;

Το αποθηκευμένο αρχείο ανοίγει στο Excel με τα αναπτυσσόμενα μενού, τους ελέγχους περιοχής και τον προσαρμοσμένο κανόνα ενεργό.

Συνηθισμένα Προβλήματα και Διορθώσεις

Η επικύρωση δεν έχει ορατό αποτέλεσμα στο Excel. Ενεργοποιήστε τις προτροπές: set_show_input / set_show_error ελέγξτε εάν εμφανίζονται η υπόδειξη εισόδου και η ειδοποίηση σφάλματος.

Ένας κανόνας πρέπει να καλύπτει αρκετές ξεχωριστές περιοχές. Προσθέστε περισσότερες περιοχές σε έναν υπάρχοντα κανόνα με add_area και πρόσθετες CellArea::create_cell_area_a1 περιοχές.

Δανείστε σφάλματα κατά την προσθήκη επικυρώσεων. Διατηρήστε το δανεισμό του φύλλου εργασίας περιορισμένο: fetch get_validations μέσα στο ίδιο μπλοκ με τις μεταλλάξεις, και αποθηκεύστε το βιβλίο εργασίας μετά το τέλος του μπλοκ.

Οι επιλογές λίστας διαβάζονται λανθασμένα ως τύπος. Τυλίξτε τις επιλογές σε διαφύλακτα εισαγωγικά ακριβώς όπως φαίνεται: set_formula1("\"Open,Closed\"").

Συχνές Ερωτήσεις

Ποιοι τύποι επικύρωσης είναι διαθέσιμοι;

ValidationType περιλαμβάνει List, Decimal και Custom όπως φαίνεται εδώ — λίστες πτυσσόμενων, αριθμητικές περιοχές μέσω OperatorType, και κανόνες βασισμένους σε τύπους.

Μπορούν οι επικυρώσεις να εμφανίζουν προσαρμοσμένα μηνύματα;

Ναι — set_input_title / set_input_message ελέγχουν το προτροπικό μήνυμα, και set_error_title / set_error_message ελέγχουν την ειδοποίηση αποτυχίας.

Το μοντέλο επιβιώνει σε ένα round-trip;

Ναι. Αποθηκεύστε με Workbook::save και φορτώστε ξανά με Workbook::load_xlsx; οι κανόνες επικύρωσης διατηρούνται στο αρχείο XLSX.

Δείτε επίσης

 Ελληνικά