Bevezetés

A táblázatkezelés a aspose-cells-foss-rust crate magja: azok az objektumok, amelyek egy munkafüzetet, annak lapjait és celláit modellezik, valamint azok a műveletek, amelyek a Rust adatokat megjeleníthető XLSX fájlokká alakítják. Ez a bejegyzés végigvezeti ezeket a felületeket — a lapok létrehozásától és a típusos értékek írásától a stílusig, oldalelrendezésig, és azokhoz a strukturális funkciókhoz, amelyek a munkafüzeteket használhatóvá teszik: megjegyzések, hiperhivatkozások, táblázatok és definiált nevek.

Az itt bemutatott minden az nyílt forráskódú, MIT licencű crate része. Egyetlen Microsoft Office telepítés sem szükséges; a könyvtár közvetlenül olvassa és írja az XLSX csomagformátumot.

Ezt a szakaszt a legújabb termékviselkedés és a API lefedettség szerinti aktuális forrásmodell alapján ellenőriztük.


Főbb jellemzők

Munkalapok és cellagyűjtemények

A munkalapok a munkafüzet munkalapgyűjteményein keresztül kezelhetők. A lapok index vagy név alapján érhetők el, set_name-el átnevezhetők, és a celláikhoz a get_cells (olvasás) vagy get_cells_mut (írás) segítségével lehet hozzáférni:

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

Típusos értékek név vagy index szerint

A cellák stringeket, egész számokat, logikai értékeket, decimális számokat és dátum-időket fogadnak a típusos beállítókkal. A cellák A1-stílusban (get("B3")) vagy numerikusan (get_by_index(row, column)) hivatkozhatók, ami a generált elrendezésekhez alkalmas:

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

Képletek gyorsítótárazott értékekkel

put_formula_with_cached_value a képlet szövegét együtt tárolja azzal az értékkel, amelyet az Excel az első újraszámítás előtt megjelenít — fontos, ha a fájlt más eszközök fogyasztják, amelyek a gyorsítótárazott eredményeket olvassák:

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

Stílus és oldalelrendezés

CellStyle magában foglalja a Font, Fill és Borders elemeket; a StyleFlag kiválasztja, hogy a frissítés mely stílusaspektusokra vonatkozzon. A NumberFormat szabályozza az érték megjelenítését, a PageSetup pedig a nyomtatáshoz kezeli a PaperSizeType és PageOrientationType beállításokat. A FreezePane és a sor/oszlop VisibilityType nagy lapok navigálhatóságát biztosítja.

Megjegyzések, hiperhivatkozások és nevek

Az ellenőrzői munkafolyamatokat és navigációt a Comment és CommentCollection, a Hyperlink a HyperlinkCollection-al, valamint a DefinedName a DefinedNameCollection-al a névvel ellátott tartományokhoz biztosítja.

Strukturált táblák és szűrők

ListObject egy tartományt strukturált táblázattá alakít TableStyleType stílussal és TotalsCalculation sorokkal; az AutoFilter szűrést ad hozzá FilterColumn és FilterOperatorType feltételekkel.


Gyors indítás

Add a crate-ot a Cargo.toml-odhoz git függőségként (a crate még nincs közzétéve a crates.io-n):

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

Egy minimális táblázat-kezelő szekció — létrehozás, írás, mentés, újratöltés:

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

Támogatott formátumok

FormátumKiterjesztésOlvasásÍrás
XLSX.xlsx

A betöltés elfogadja a LoadOptions javítási jelzőket (try_repair_package, try_repair_xml) strukturált LoadDiagnostics-szel; a mentés a save, save_xlsx vagy save_with_format segítségével, a SaveFormat enum használatával történik.


Nyílt forráskód és licencelés

Aspose.Cells FOSS for Rust MIT licenc alatt áll. A forráskód a GitHub oldalon található; a kereskedelmi használat, módosítás és újraelosztás megengedett.


Első lépések

Kapcsolódó források