Munkavégzés a Táblázatkezeléssel
A táblázatkezelés használata
A táblázatkezelés lefedi a crate mindennapi objektumfelületét: munkalapok, cellagyűjtemények, típusos értékek, képletek, formázás, valamint a szerkezeti jellemzőket, amelyek használhatóvá teszik a munkafüzetet. A belépési pont mindig egy Workbook.
Worksheets
A lapok a munkafüzet munkalap-gyűjteményein keresztül kezelhetők — olvasási hozzáférés get_worksheets útján, módosítás get_worksheets_mut útján. A lapok index (get(0)) vagy név (get_by_name) alapján érhetők el, átnevezhetők set_name segítségével, és hozzáadhatók add_worksheet használatával:
let mut workbook = Workbook::new();
{
let mut worksheets = workbook.get_worksheets_mut();
let sheet = worksheets.get(0)?;
sheet.set_name("Data")?;
}Cella hozzáférés és típusos értékek
A cellákat A1-stílusban vagy numerikusan lehet hivatkozni. get_by_index(row, column) alkalmas generált elrendezésekhez:
let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Month")?;
for month in 1..=12_u32 {
cells
.get_by_index(month, 0)
.put_value_string(format!("Month {month}"))?;
}Visszaolvasáskor a display_string_value visszaadja a megjelenített szöveget, a value_type pedig jelzi a tárolt típust.
Képletek gyorsítótárazott eredményekkel
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;A gyorsítótárazott érték az, amit az Excel az első újraszámolás előtt megjelenít — biztosítsd, hogy a fájl felhasználói azonnal a helyes eredményeket lássák.
Styling
CellStyle összegzi a Font, Fill és Borders elemeket; StyleFlag szabályozza, hogy a frissítés mely stílusaspektusokra vonatkozik, így a meglévő formázás megmarad, ahol nem írod felül. NumberFormat határozza meg, hogyan jelennek meg az értékek.
Oldalbeállítás és navigáció
PageSetup kezeli a nyomtatási elrendezést: PaperSizeType, PageOrientationType és a margókat. FreezePane láthatóvá teszi a fejlécsorokat a görgetés közben, és a sor- és oszlopszintű láthatóság a VisibilityType használatával.
Struktúra: Táblák, Nevek, Megjegyzések, Hiperhivatkozások
ListObjectegy tartományt strukturált táblává alakítTableStyleTypestílusával ésTotalsCalculationösszegző sorokkal.DefinedNameésDefinedNameCollectionkezelik a névvel ellátott tartományokat.Comment/CommentCollectionésHyperlink/HyperlinkCollectionlefedik a megjegyzéseket és a navigációt.
Tippek és legjobb gyakorlatok
- Tartsd a változtatható kölcsönzéseket (
get_worksheets_mut,get_cells_mut) egy hatókör blokkban; a blokk lezárása után mentsd el a munkafüzetet. - Használd a
get_by_indexciklusokhoz és generált elrendezésekhez; A1 neveket rögzített pozíciókhoz. - Alkalmazz stílusokat egy
StyleFlagsegítségével, hogy a nem kapcsolódó formázás érintetlen maradjon. - Nevezd el a fontos tartományokat
DefinedNamehasználatával a címek kézi kódolása helyett.
Gyakori problémák
| Probléma | Okozás | Javítás |
|---|---|---|
| Kölcsönzési hiba a munkafüzet mentésekor | Módosítható munkalap kölcsönzése még él | Zárja be a hatókör blokkot, mielőtt meghívná a(z) save |
| A képlet 0-t mutat az Excelben | Nincs megadva gyorsítótárazott érték | Használd a put_formula_with_cached_value a várt eredménnyel |
| A munkalap nem található | Néveltérés | Cím index szerint vagy ellenőrizd a set_name helyesírását |
FAQ
Hogyan adhatok hozzá egy második munkalapot?
Hívja meg a add_worksheet függvényt a munkafüzeten, majd szerezze be a munkalapgyűjteményen keresztül index vagy név alapján.
Olvashatok és írhatok egyetlen átfutásban?
Igen — töltse be a Workbook::load_xlsx segítségével, módosítsa a get_worksheets_mut segítségével, és save ugyanarra vagy egy új útvonalra.
A típusos beállítók konvertálják az értékeket?
Nem történik átalakítás: minden put_value_* beállító a saját natív típusát tárolja; a display_string_value olvasáskor megjeleníti a megjelenítendő szöveget.
API Reference összefoglaló
| Osztály/Módszer | Leírás |
|---|---|
Workbook.add_worksheet | Adj hozzá egy munkalapot a munkafüzethez |
Worksheet.set_name | Munkalap átnevezése |
Worksheet.get_cells_mut | Módosítható cellagyűjtemény |
CellMut.put_value_string | Típusos karakterlánc beállító |
CellMut.put_formula_with_cached_value | Képlet plusz gyorsítótárazott eredmény |
CellStyle | Betűtípus, kitöltés és szegély formázása |
StyleFlag | Kiválasztja, mely stílusjellemzők érvényesülnek |
PageSetup | Nyomtatás és oldalelrendezés |
ListObject | Strukturált táblázatok |