Úvod

Správa tabulek je jádrem krabice aspose-cells-foss-rust: objekty, které modelují sešit, jeho listy a jejich buňky, a operace, které převádějí data v Rustu na prezentovatelné soubory XLSX. Tento příspěvek prochází tímto povrchem — od vytváření listů a zápisu typovaných hodnot po stylování, rozvržení stránky a strukturované funkce, které dělají sešity použitelné: komentáře, hypertextové odkazy, tabulky a definované názvy.

Vše, co je zde ukázáno, je součástí open-source krabice licencované pod MIT. V žádném okamžiku není vyžadována instalace Microsoft Office; knihovna čte a zapisuje formát balíčku XLSX přímo.

Tato sekce byla zkontrolována vůči aktuálnímu zdrojovému modelu pro nejnovější chování produktu a pokrytí API.


Klíčové vlastnosti

Listy a kolekce buněk

Listy jsou spravovány prostřednictvím kolekcí listů sešitu. Listy jsou přistupovány podle indexu nebo názvu, přejmenovány pomocí set_name a jejich buňky jsou dostupné přes get_cells (čtení) nebo get_cells_mut (zápis):

let mut workbook = Workbook::new();
{
    let mut worksheets = workbook.get_worksheets_mut();
    let sheet = worksheets.get(0)?;
    sheet.set_name("Charts")?;
    {
        let mut cells = sheet.get_cells_mut();
        cells.get("A1")?.put_value_string("Month")?;
        cells.get("B1")?.put_value_string("Sales")?;
    }
}

Typované hodnoty podle názvu nebo indexu

Buňky přijímají řetězce, celá čísla, booleany, desetinná čísla a datumy-časy pomocí typovaných setterů. Buňky lze adresovat ve stylu A1 (get("B3")) nebo číselně (get_by_index(row, column)), což vyhovuje generovaným rozvržením:

for month in 1..=12_u32 {
    cells
        .get_by_index(month, 0)
        .put_value_string(format!("Month {month}"))?;
    cells
        .get_by_index(month, 1)
        .put_value_i32((month as i32 * 1000) + (month as i32 * 50))?;
}

Vzorce s uloženými hodnotami

put_formula_with_cached_value ukládá text vzorce spolu s hodnotou, kterou má Excel zobrazit před první přepočítáním — důležité, když je soubor používán jinými nástroji, které čtou cachované výsledky:

cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
    .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;

Styly a rozvržení stránky

CellStyle obsahuje Font, Fill a Borders; StyleFlag určuje, na které aspekty stylu se aktualizace vztahuje. NumberFormat řídí vykreslování hodnot a PageSetup spravuje PaperSizeType a PageOrientationType pro tisk. FreezePane a řádkové/sloupcové VisibilityType udržují velké listy přehledné.

Komentáře, hypertextové odkazy a názvy

Workflow a navigace recenzentů jsou pokryty pomocí Comment a CommentCollection, Hyperlink s HyperlinkCollection a DefinedName s DefinedNameCollection pro pojmenované oblasti.

Strukturované tabulky a filtry

ListObject převádí oblast na strukturovanou tabulku se stylováním TableStyleType a řádky TotalsCalculation; AutoFilter přidává filtrování s podmínkami FilterColumn a FilterOperatorType.


Rychlý start

Přidejte krabici do svého Cargo.toml jako git závislost (krabice ještě není publikována na crates.io):

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

Minimální relace správy tabulky — vytvořit, zapsat, uložit, znovu načíst:

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

fn main() -> Result<(), Box<dyn Error>> {
    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")?;

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

    Ok(())
}

Podporované formáty

FormátPříponaČístZapsat
XLSX.xlsx

Načítání přijímá opravy flagů LoadOptions (try_repair_package, try_repair_xml) se strukturovanými LoadDiagnostics; ukládání probíhá pomocí save, save_xlsx nebo save_with_format s výčtem SaveFormat.


Open Source a licencování

Aspose.Cells FOSS pro Rust je licencováno pod licencí MIT. Zdrojový kód je umístěn na GitHub; komerční použití, úpravy a redistribuce jsou povoleny.


Začínáme

Související zdroje