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 buildKrok 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.