Πώς να φορτώσετε ένα υπολογιστικό φύλλο σε Rust

Πώς να φορτώσετε ένα υπολογιστικό φύλλο σε 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 καταγράφει τα προβλήματα που αντιμετωπίστηκαν κατά τη φόρτωση.

Δείτε επίσης

 Ελληνικά