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
| Format | Filändelse | Läs | Skriv |
|---|---|---|---|
| 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.