Inleiding

Spreadsheetbeheer is de kern van de aspose-cells-foss-rust crate: de objecten die een werkmap modelleren, de bladen en hun cellen, en de bewerkingen die Rust-gegevens omzetten in presenteerbare XLSX-bestanden. Deze post loopt door dat oppervlak — van het aanmaken van bladen en het schrijven van getypeerde waarden tot styling, paginalay-out en de structurele kenmerken die werkmappen bruikbaar maken: opmerkingen, hyperlinks, tabellen en gedefinieerde namen.

Alles wat hier wordt getoond maakt deel uit van de open-source, MIT-gelicentieerde crate. Er is op geen enkel moment een Microsoft Office-installatie bij betrokken; de bibliotheek leest en schrijft het XLSX-pakketformaat direct.

Deze sectie is gecontroleerd ten opzichte van het huidige bronmodel voor het nieuwste productgedrag en API-dekking.


Belangrijkste kenmerken

Werkbladen en Celcollecties

Werkbladen worden beheerd via de werkmap-collecties van werkbladen. Bladen worden aangesproken via index of naam, hernoemd met set_name, en hun cellen worden bereikt via get_cells (lezen) of get_cells_mut (schrijven):

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

Getypte waarden per naam of index

Cellen accepteren strings, gehele getallen, booleans, decimalen en datum-tijden via getypeerde setters. Cellen kunnen worden aangesproken in A1-stijl (get("B3")) of numeriek (get_by_index(row, column)), wat geschikt is voor gegenereerde lay-outs:

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

Formules met gecachte waarden

put_formula_with_cached_value slaat de formuletekst op samen met de waarde die Excel moet weergeven vóór de eerste herberekening — belangrijk wanneer het bestand wordt gebruikt door andere tools die gecachte resultaten lezen:

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

Stijlen en paginalay-out

CellStyle bevat Font, Fill en Borders; StyleFlag selecteert op welke stijlaspecten een update van toepassing is. NumberFormat regelt de weergave van waarden, en PageSetup beheert PaperSizeType en PageOrientationType voor afdrukken. FreezePane en rij/kolom VisibilityType houden grote bladen navigeerbaar.

Beoordelingsworkflows en navigatie worden gedekt door Comment en CommentCollection, Hyperlink met HyperlinkCollection, en DefinedName met DefinedNameCollection voor benoemde bereiken.

Gestructureerde tabellen en filters

ListObject zet een bereik om in een gestructureerde tabel met TableStyleType-styling en TotalsCalculation-rijen; AutoFilter voegt filteren toe met FilterColumn en FilterOperatorType-condities.


Snelle start

Voeg de crate toe aan je Cargo.toml als een git-dependency (de crate is nog niet gepubliceerd op crates.io):

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

Een minimale spreadsheet-beheersessie — maak, schrijf, sla op, laad opnieuw:

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

Ondersteunde formaten

FormaatExtensieLezenSchrijven
XLSX.xlsx

Laden accepteert LoadOptions reparatievlaggen (try_repair_package, try_repair_xml) met gestructureerde LoadDiagnostics; opslaan gaat via save, save_xlsx of save_with_format met de SaveFormat-enum.


Open source & licenties

Aspose.Cells FOSS voor Rust is gelicentieerd onder de MIT-licentie. Broncode staat op GitHub; commercieel gebruik, wijziging en herdistributie zijn toegestaan.


Aan de slag

Gerelateerde bronnen