Ú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át | Přípona | Číst | Zapsat |
|---|---|---|---|
| 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.