Bevezetés

Aspose.Cells FOSS for Rust a Aspose.Cells FOSS családot hozza a Rust ökoszisztémába. Az aspose-cells-foss-rust crate lehetővé teszi a Rust alkalmazások számára, hogy Excel XLSX munkafüzeteket hozzanak létre a semmiből, meglévő fájlokat töltsenek be, módosítsák a tartalmukat, és elmentsék az eredményt — Microsoft Office telepítés, COM automatizálás vagy külső futtatókörnyezet nélkül.

A crate MIT licenc alatt áll, és a Rust 2021-es kiadásra céloz. Követi a Rust fejlesztők által elvárt konvenciókat: olyan konstruktorok, mint Workbook::new, Result-alapú hibakezelés a CellsError segítségével, valamint explicite módosítható hozzáférők, mint get_worksheets_mut és get_cells_mut, amelyek tisztán tartják a kölcsönzési szabályokat. Ha backend szolgáltatásokat, CLI eszközöket vagy adatcsővezetékeket építesz, amelyeknek táblázatokat kell előállítaniuk vagy fogyasztaniuk, ez a könyvtár natív módot biztosít ehhez.

Ez a szakasz a jelenlegi forrásmodell alapján került felülvizsgálatra a legújabb termékviselkedés és a API lefedettség tekintetében.

A Aspose.Cells FOSS már elérhető .NET, C++, Java, Python és TypeScript számára; a Rust crate a családhoz csatlakozik ugyanazzal a fókuszáltsággal: őszinte, ellenőrizhető XLSX támogatás engedékeny licenc alatt.


Mi van benne

Munkafüzetek, Munkalapok és Típusos cellaértékek

Egy Workbook egy munkalappal indul, és a add_worksheet segítségével növekszik. A cellák típusos értékeket fogadnak — karakterláncok, egész számok, logikai értékek, tizedesek és dátum-idő — dedikált setterek révén, így nincs szükség string-alapú konverziókra:

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)?;
}
workbook.save("hello.xlsx")?;

Képletek gyorsítótárazott eredményekkel

A képletek egy gyorsítótárazott értékkel együtt íródnak, így a mentett fájl Excelben azonnal a helyes eredményekkel nyílik meg — nincs szükség újraszámolási lépésre:

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

Diagramok adathatárokhoz rögzítve

A ChartType felsorolásból származó oszlop, vonal és egyéb diagramtípusok rögzíthetők a munkalap cellatartományaira, és a diagram geometria visszaolvasható a betöltött fájlokból:

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

Stílus, oldalbeállítás és struktúra

A cellaformázás a CellStyle-on keresztül folyik, amely Font, Fill és Borders elemeket tartalmaz, és szelektíven alkalmazható a StyleFlag segítségével. A PageSetup szabályozza a nyomtatás papírméretét és tájolását, a FreezePane a fejlécsorok láthatóságát biztosítja, míg a strukturált táblák a ListObject-en keresztül érkeznek TableStyleType-tal.

Érvényesítés, feltételes formázás és szűrők

Az adatminőségi funkciók a magfelszín részei: Validation szabályok OperatorType-mal, feltételes formázás FormatCondition segítségével, automatikus szűrők AutoFilter-rel, definiált nevek DefinedName-en keresztül, valamint munkafüzet- vagy munkalap-védelem a WorkbookProtection és WorksheetProtection segítségével.

Defenzív betöltés diagnosztikával

A valós XLSX fájlok nem mindig jól formáltak. A LoadOptions javítási flag-eket tesz elérhetővé, a LoadDiagnostics pedig jelentést ad arról, hogy a betöltő mit talált:

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

let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

Gyors kezdés

Add hozzá a crate-et 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" }

Ezután hozd létre, mentsd el, és töltsd újra az első munkafüzeted:

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

Támogatott formátumok

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

XLSX a jelenlegi kiadás fókusza: teljes round-trip olvasás és írás a Workbook::load_xlsx és a Workbook::save használatával, a LoadFormat és SaveFormat enumok szabályozzák a kifejezett formátum kiválasztását.


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

Aspose.Cells FOSS a Rust-hoz MIT licenc alatt áll. A teljes forráskód elérhető a GitHub oldalon, és a licenc megengedi a kereskedelmi felhasználást, módosítást és újraelosztást.


Kezdő lépések

Kapcsolódó források