Introduktion

KAlkylbladsadministration är kärnan i aspose-cells-foss-rust-paketet: objekten som modellerar en arbetsbok, dess blad och deras celler, samt operationerna som omvandlar Rust-data till presentabla XLSX-filer. Detta inlägg går igenom den ytan — från att skapa blad och skriva typade värden till formatering, sidlayout och de strukturella funktionerna som gör arbetsböcker användbara: kommentarer, hyperlänkar, tabeller och definierade namn.

Allt som visas här är en del av det öppna, MIT-licensierade paketet. Ingen Microsoft Office-installation är inblandad någonstans; biblioteket läser och skriver XLSX-paketformatet direkt.

Detta avsnitt har granskats mot den aktuella källmodellen för den senaste produktbeteendet och API-täckning.


Viktiga funktioner

Arbetsblad och cellsamlingar

Arbetsblad hanteras via arbetsbokens samlingar av arbetsblad. Blad adresseras med index eller namn, byts namn med set_name, och deras celler nås via get_cells (läsa) eller get_cells_mut (skriva):

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

Typade värden efter namn eller index

Cellar accepterar strängar, heltal, booleska värden, decimaler och datum-tid genom typade set-metoder. Cellar kan adresseras i A1-stil (get("B3")) eller numeriskt (get_by_index(row, column)), vilket passar genererade layouter:

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

Formler med cachade värden

put_formula_with_cached_value lagrar formeltexten tillsammans med det värde som Excel ska visa innan den första omräkningen — viktigt när filen konsumeras av andra verktyg som läser cachade resultat:

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

Stil och sidlayout

CellStyle innehåller Font, Fill och Borders; StyleFlag väljer vilka stilaspekter en uppdatering gäller. NumberFormat styr hur värden renderas, och PageSetup hanterar PaperSizeType och PageOrientationType för utskrift. FreezePane och rad/kolumn-VisibilityType gör stora blad navigerbara.

Kommentarer, hyperlänkar och namn

Granskningsarbetsflöden och navigering täcks av Comment och CommentCollection, Hyperlink med HyperlinkCollection samt DefinedName med DefinedNameCollection för namngivna områden.

Strukturerade tabeller och filter

ListObject omvandlar ett område till en strukturerad tabell med TableStyleType-formatering och rader för TotalsCalculation; AutoFilter lägger till filtrering med FilterColumn och FilterOperatorType-villkor.


Snabbstart

Lägg till paketet i din Cargo.toml som ett git-beroende (paketet är ännu inte publicerat på crates.io):

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

En minimal kalkylblads-hanteringssession — skapa, skriva, spara, ladda om:

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

Stödda format

FormatFiländelseLäsSkriv
XLSX.xlsx

Inläsning accepterar reparationsflaggor för LoadOptions (try_repair_package, try_repair_xml) med strukturerad LoadDiagnostics; sparande sker via save, save_xlsx eller save_with_format med SaveFormat-enum.


Öppen källkod & licensiering

Aspose.Cells FOSS för Rust är licensierad under MIT. Källkoden finns på GitHub; kommersiell användning, ändring och vidaredistribution är tillåtet.


Komma igång

Relaterade resurser