Jak wczytać arkusz kalkulacyjny w Rust

Jak wczytać arkusz kalkulacyjny w Rust

Aspose.Cells FOSS dla Rust ładuje zeszyty Excel XLSX bezpośrednio z formatu pakietu — nie wymaga Microsoft Office. Ten przewodnik instaluję aspose-cells-foss-rust crate za pomocą Cargo, ładuje zeszyt przy pomocy Workbook::load_xlsx, i obsługuje nieidealne pliki przy użyciu flag naprawczych LoadOptions oraz LoadDiagnostics.

Przewodnik krok po kroku

Krok 1: Zainstaluj pakiet

Dodaj crate do swojego Cargo.toml jako zależność Cargo git:

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

Następnie zbuduj projekt:

cargo build

Krok 2: Zaimportuj wymagane klasy

use aspose_cells_foss_rust::{LoadOptions, Workbook};
use std::error::Error;

Krok 3: Utwórz przykładowy plik do załadowania

Jeśli nie masz jeszcze skoroszytu na dysku, najpierw go zapisz:

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

Krok 4: Załaduj skoroszyt

Workbook::load_xlsx otwiera poprawnie sformatowany plik 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());

Krok 5: Ładuj ostrożnie z opcjami naprawy

W przypadku plików od podmiotów trzecich włącz flagi naprawy i sprawdź diagnostykę zebrane przez loader:

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

Typowe problemy i rozwiązania

Wywołanie load zwraca błąd dla pliku, który otwiera się w Excelu. Enable try_repair_package and try_repair_xml in LoadOptions i wczytaj za pomocą Workbook::load_xlsx_with_options — Excel toleruje pewne nieprawidłowości pakietu, które odrzuca ścisłe wczytywanie.

worksheet("Sheet1") nie udaje się po wczytaniu. Arkusz może mieć inną nazwę. Wymień za pomocą get_worksheets lub pobierz według indeksu z kolekcji arkuszy zamiast tego.

Wartości odczytane jako puste ciągi znaków. Użyj display_string_value w komórce dla jej tekstu wyświetlanego i sprawdź value_type aby zobaczyć, co jest faktycznie zapisane.

Formuły wyświetlają nieaktualne wyniki. Ładowarka zachowuje buforowane wartości zapisane w pliku; przeliczanie to kwestia konsumenta. Podczas zapisu zawsze przekazuj prawidłową buforowaną wartość do put_formula_with_cached_value.

Najczęściej zadawane pytania

Jakie formaty mogą być wczytywane?

Tylko XLSX w bieżącej wersji. Enum LoadFormat obejmuje Auto i Xlsx.

Czy muszę mieć zainstalowany Microsoft Office?

Nie. Crate analizuje pakiet XLSX bezpośrednio; nie jest używany Office, COM ani żaden zewnętrzny runtime.

Jak mogę sprawdzić, czy loader coś naprawił?

Przeczytaj get_load_diagnostics w załadowanym skoroszycie — LoadDiagnostics wymienia problemy napotkane podczas ładowania.

Zobacz także

 Polski