1. Produkty
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Rust

Aspose.Cells FOSS dla Rust

Otwartoźródłowy crate Rust do tworzenia, odczytywania, edytowania i zapisywania arkuszy Excel XLSX bez zależności od Office.

Aspose.Cells FOSS — Biblioteka Rust o otwartym kodzie źródłowym

Aspose.Cells FOSS for Rust jest biblioteką open-source służącą do pracy z arkuszami kalkulacyjnymi Excel XLSX w aplikacjach Rust. Zapewnia programistom systemowym natywny, bezpieczny pod względem pamięci sposób tworzenia skoroszytów od podstaw, ładowania istniejących plików XLSX, modyfikowania ich zawartości i zapisywania wyniku — bez Microsoft Office, automatyzacji COM ani żadnego zewnętrznego środowiska uruchomieniowego.

Crate modeluje pełne drzewo obiektów arkusza kalkulacyjnego: Workbook, Worksheet oraz kolekcje komórek z typowanymi setterami wartości (put_value_string, put_value_i32, put_value_bool, put_value_decimal), formułami z buforowanymi wartościami za pomocą put_formula_with_cached_value, wykresami (Chart, ChartType), formatowaniem warunkowym (FormatCondition), walidacją danych (Validation), autofiltrem (AutoFilter), stylizacją komórek (CellStyle, Font, Fill, Borders), ustawieniami strony (PageSetup), obrazami, kształtami, komentarzami, hiperłączami, tabelami (ListObject), sparkline’ami (SparklineGroup), nazwami zdefiniowanymi oraz ochroną skoroszytu/arkusza.

Aspose.Cells FOSS for Rust jest licencjonowany na zasadach MIT i celuje w edycję Rust 2021. Instalowany jest jako standardowa zależność Cargo z repozytorium GitHub — zobacz przewodnik instalacji, aby uzyskać dokładny wpis Cargo.toml. Błędy są zgłaszane za pomocą konwencjonalnych typów Result (CellsError), a ładowanie XLSX oferuje opcje naprawy (LoadOptions) z ustrukturyzowaną diagnostyką (LoadDiagnostics). Dla rodziny produktów korporacyjnych zobacz Aspose.Cells — Enterprise Product Family.

Zarządzanie skoroszytem i arkuszem

  • Utwórz puste skoroszyty przy użyciu Workbook::new lub wczytaj istniejące pliki przy użyciu Workbook::load_xlsx
  • Dodawaj i uzyskuj dostęp do arkuszy za pomocą add_worksheet, worksheet oraz mutowalnych kolekcji arkuszy
  • Zapisz na dysk przy użyciu save, save_xlsx lub jawnie określonego formatu save_with_format
  • Kontroluj widoki skoroszytu, ustawienia i właściwości dokumentu

Gdzie to pasuje

  • Usługi backendowe generujące raporty XLSX bez zainstalowanego Office
  • Narzędzia CLI, które masowo tworzą lub przetwarzają arkusze kalkulacyjne
  • Potoki danych w Rust eksportujące wyniki tabelaryczne dla użytkowników biznesowych

Dane komórek, formuły i typy

  • Settery typowane: put_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_time
  • Zapisuj formuły z buforowanymi wynikami przy użyciu put_formula_with_cached_value
  • Odczytuj wartości z powrotem za pomocą display_string_value i value_type
  • Odwołuj się do komórek po nazwie A1 lub indeksie wiersza/kolumny (get, get_by_index)

Praktyczne zastosowania

  • Eksporty finansowe, w których formuły muszą otwierać się z poprawnymi wartościami w pamięci podręcznej
  • Szablony wprowadzania danych z typowanymi kolumnami
  • Edycja w trybie round-trip zeszytów dostarczonych przez użytkownika

Stylowanie i układ

  • Stylowanie komórek przy użyciu CellStyle z Font, Fill i Borders
  • Zastosuj ukierunkowane aktualizacje stylu za pomocą StyleFlag
  • Formatowanie liczb poprzez NumberFormat
  • Druk i układ strony za pomocą PageSetup (rozmiar papieru, orientacja, marginesy)
  • Zamrażanie okienek przy użyciu FreezePane; kontrola widoczności wierszy/kolumn

Dlaczego to ma znaczenie

  • Raporty z marką, gotowe do druku, bezpośrednio z usług Rust
  • Czytelne eksporty z prawidłowymi formatami liczb i dat
  • Duże arkusze, które pozostają nawigowalne dzięki zamrożonym wierszom nagłówka

Wykresy, obrazy i kształty

  • Dodaj wykresy kolumnowe, liniowe i inne typy wykresów przy użyciu ChartType w kolekcji wykresów arkusza
  • Odczytuj kotwice wykresów i ich typy z załadowanych plików (Chart, ChartCollection)
  • Osadzaj obrazy za pomocą Picture oraz kształty rysunkowe za pomocą Shape
  • Kompaktowe trendy w komórkach przy użyciu SparklineGroup

Przypadki użycia

  • Pulpity i skoroszyty KPI generowane według harmonogramu
  • Wizualne podsumowania osadzone obok surowych danych
  • Automatyczne rozmieszczanie wykresów z zakresów danych

Analiza danych i ochrona

  • Reguły formatowania warunkowego za pomocą FormatCondition
  • Reguły walidacji danych za pomocą Validation z OperatorType
  • Autofiltry za pomocą AutoFilter; tabele strukturalne za pomocą ListObject
  • Zdefiniowane nazwy za pomocą DefinedName; ochrona za pomocą WorkbookProtection i WorksheetProtection
  • Solidne ładowanie XLSX z flagami naprawy LoadOptions i LoadDiagnostics

Kto korzysta

  • Zespoły wysyłające zweryfikowane zeszyty danych
  • Usługi pobierające pliki XLSX firm trzecich, które mogą wymagać naprawy
  • Analitycy otrzymujący wstępnie przefiltrowane, chronione raporty

Utwórz, zapisz i ponownie załaduj Workbook

Utwórz skoroszyt, zapisz wartości typowane oraz formułę z wynikiem w pamięci podręcznej, zapisz go jako XLSX i wczytaj ponownie:

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

fn main() -> Result<(), Box<dyn Error>> {
    // Create a new workbook (starts with one sheet, "Sheet1").
    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("Hello")?;
        cells.get("B1")?.put_value_i32(123)?;
        cells.get("C1")?.put_value_bool(true)?;
        cells.get("D1")?.put_value_decimal(12.5)?;
        cells.get("F1")?.put_value_i32(10)?;
        cells.get("G1")?
            .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
    }
    workbook.save("hello.xlsx")?;

    // Load it back.
    let loaded = Workbook::load_xlsx("hello.xlsx")?;
    let sheet = loaded.worksheet("Sheet1")?;
    let cells = sheet.get_cells();
    println!("A1 = {}", cells.get("A1")?.display_string_value());

    Ok(())
}

Ładowanie plików XLSX z opcjami naprawy

Otwieraj skoroszyty w sposób defensywny, używając flag naprawczych LoadOptions i sprawdzaj strukturalne diagnostyki ładowania:

let options = LoadOptions {
    try_repair_package: true,
    try_repair_xml: true,
    ..LoadOptions::default()
};

let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();

println!("Saved: {}", valid_path.display());
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

Dodaj wykresy z zakresów danych

Wypełnij zakres danych, a następnie zakotwicz wykresy kolumnowy i liniowy do niego:

let mut charts = sheet.get_charts();
charts.add(
    ChartType::Column,
    "Charts!$B$1:$B$13".to_string(),
    0,
    4,
    18,
    8,
)?;
charts.add(
    ChartType::Line,
    "Charts!$C$1:$C$13".to_string(),
    0,
    9,
    18,
    13,
)?;

Najczęściej Zadawane Pytania

Jaką licencję używa Aspose.Cells FOSS for Rust?

Crate jest wydany na licencji MIT; pełny tekst znajduje się w repozytorium jako LICENSE.txt.

Czy mogę go używać w produktach komercyjnych?

Tak. Licencja MIT zezwala na komercyjne użycie, modyfikację i rozpowszechnianie, pod warunkiem zachowania informacji o prawach autorskich i notatki licencyjnej.

Jak zainstalować crate?

Dodaj aspose-cells-foss-rust do swojego Cargo.toml jako zależność git z repozytorium GitHub.

Jakie formaty można odczytywać i zapisywać?

XLSX, z pełnym odczytem i zapisem w trybie round-trip przy użyciu Workbook::load_xlsx i save. Inne formaty arkuszy kalkulacyjnych nie są obsługiwane w bieżącym wydaniu.

Czy wymaga Microsoft Office?

Nie. Biblioteka odczytuje i zapisuje format pakietu XLSX bezpośrednio — nie wymaga instalacji Office, automatyzacji COM ani zewnętrznego środowiska uruchomieniowego.

  

Zasoby Wsparcia i Nauki

 Polski