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átum | Kiterjesztés | Olvasá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.