Πώς να φορτώσετε ένα υπολογιστικό φύλλο σε Rust
Aspose.Cells FOSS για Rust φορτώνει βιβλία εργασίας Excel XLSX απευθείας από τη μορφή πακέτου — δεν απαιτείται Microsoft Office. Αυτός ο οδηγός εγκαθιστά το crate aspose-cells-foss-rust μέσω Cargo, φορτώνει ένα βιβλίο εργασίας με Workbook::load_xlsx, και χειρίζεται ελλιπή αρχεία με τις σημαίες επισκευής LoadOptions και LoadDiagnostics.
Οδηγός βήμα-βήμα
Βήμα 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::{LoadOptions, Workbook};
use std::error::Error;Βήμα 3: Δημιουργία Δειγματικού Αρχείου για Φόρτωση
Αν δεν έχετε ήδη ένα βιβλίο εργασίας στο δίσκο, γράψτε ένα πρώτα:
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")?;Βήμα 4: Φόρτωση του Βιβλίου Εργασίας
Workbook::load_xlsx ανοίγει ένα καλά δομημένο αρχείο 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());Βήμα 5: Φόρτωση Προστατευτικά με Επιλογές Επιδιόρθωσης
Για αρχεία από τρίτους, ενεργοποιήστε τις σημαίες επισκευής και εξετάστε τις διαγνωστικές πληροφορίες που συνέλεξε ο φορτωτής:
let options = LoadOptions {
try_repair_package: true,
try_repair_xml: true,
..LoadOptions::default()
};
let loaded = Workbook::load_xlsx_with_options("inventory.xlsx", &options)?;
println!(
"Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
loaded.get_worksheets().count(),
loaded.get_load_diagnostics().issues().len()
);Κοινά προβλήματα και διορθώσεις
Η κλήση φόρτωσης επιστρέφει σφάλμα για ένα αρχείο που ανοίγει στο Excel. Enable try_repair_package and try_repair_xml in LoadOptions και φόρτωση μέσω Workbook::load_xlsx_with_options — Το Excel ανεχθεί κάποιες ανωμαλίες του πακέτου που η αυστηρή φόρτωση απορρίπτει.
worksheet("Sheet1") αποτυγχάνει μετά τη φόρτωση. Το φύλλο μπορεί να έχει διαφορετικό όνομα. Απαριθμήστε μέσω get_worksheets ή πάρτε το με δείκτη μέσω της συλλογής φύλλων εργασίας αντί αυτού.
Οι τιμές διαβάζονται ξανά ως κενές συμβολοσειρές. Χρησιμοποιήστε display_string_value στο κελί για το κείμενο εμφάνισης και ελέγξτε value_type για να δείτε τι είναι πραγματικά αποθηκευμένο.
Οι τύποι εμφανίζουν παλαιά αποτελέσματα. Ο φορτωτής διατηρεί τις αποθηκευμένες τιμές που αποθηκεύονται στο αρχείο· η επανυπολογισμός είναι ευθύνη του καταναλωτή. Κατά τη γραφή, πάντα παρέχετε μια σωστή αποθηκευμένη τιμή στο put_formula_with_cached_value.
Συχνές ερωτήσεις
Ποια μορφότυπα μπορούν να φορτωθούν;
Μόνο XLSX στην τρέχουσα έκδοση. Η απαρίθμηση LoadFormat καλύπτει τα Auto και Xlsx.
Χρειάζομαι το Microsoft Office εγκατεστημένο;
Όχι. Η crate αναλύει το πακέτο XLSX απευθείας· δεν εμπλέκεται κανένα Office, COM ή εξωτερικό runtime.
Πώς μπορώ να ξέρω αν ο φορτωτής διόρθωσε κάτι;
Διαβάστε το get_load_diagnostics στο φορτωμένο βιβλίο εργασίας — το LoadDiagnostics καταγράφει τα προβλήματα που αντιμετωπίστηκαν κατά τη φόρτωση.