Aspose.Cells FOSS for Rust egy nyílt forráskódú könyvtár az Excel
XLSX táblázatok kezelésére Rust alkalmazásokban. Natív, memóriabiztos módot biztosít a rendszermérnököknek
munkafüzetek előállításához a semmiből, meglévő XLSX fájlok betöltéséhez,
akik tartalmának módosításához, és az eredmény mentéséhez — Microsoft
Office, COM automatizálás vagy bármilyen külső futtatókörnyezet nélkül.
A crate modellezi a teljes táblázat objektumfát: Workbook, Worksheet,
és a cellagyűjteményeket típusos értékbeállítókkal (put_value_string,put_value_i32, put_value_bool, put_value_decimal), képletekkel, amelyek
gyorsítótárazott értékekkel rendelkeznek a put_formula_with_cached_value segítségével, diagramokkal (Chart,ChartType), feltételes formázással (FormatCondition), adatellenőrzéssel
(Validation), automatikus szűrőkkel (AutoFilter), cellastílusokkal (CellStyle,Font, Fill, Borders), oldalbeállítással (PageSetup), képekkel, alakzatokkal,
megjegyzésekkel, hiperhivatkozásokkal, táblázatokkal (ListObject), sparklines
(SparklineGroup), definiált nevekkel, valamint munkafüzet/munkalap védelemmel.
Aspose.Cells FOSS for Rust MIT licenc alatt áll, és a Rust 2021-es kiadását célozza.
A GitHub tárolóból szokásos Cargo függőségként telepíthető —
lásd a telepítési útmutatót a pontos Cargo.toml bejegyzéshez. A hibákat
a szokásos Result típusok (CellsError) jelzik, és az XLSX
betöltés javítási lehetőségeket kínál (LoadOptions) strukturált diagnosztikával
(LoadDiagnostics). Az vállalati termékcsaládért lásd Aspose.Cells — Enterprise Product Family.
Workbook::new segítségével, vagy meglévő fájlokat tölthet be a Workbook::load_xlsx használatávaladd_worksheet, worksheet és a módosítható munkalapgyűjtemények segítségévelsave, save_xlsx vagy a formátum explicit save_with_format használatávalput_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_timeput_formula_with_cached_value segítségéveldisplay_string_value és value_type használatávalget, get_by_index) alapjánCellStyle-on keresztül Font, Fill és Borders használatávalStyleFlag segítségévelNumberFormat használatávalPageSetup használatával (papírméret, orientáció, margók)FreezePane-el; sor- és oszlopszintű láthatóság vezérléseChartType használatávalChart, ChartCollection)Picture segítségével és rajzolj alakzatokat a Shape-elSparklineGroup-alFormatCondition használatávalValidation és az OperatorType használatávalAutoFilter segítségével; strukturált táblák a ListObject segítségévelDefinedName használatával; védelem a WorkbookProtection és a WorksheetProtection segítségévelLoadOptions javítási zászlókkal és a LoadDiagnostics használatávalHozzon létre egy munkafüzetet, írjon be típusos értékeket és egy képletet előre kiértékelt eredménnyel, mentse XLSX formátumban, majd töltse be újra:
use aspose_cells_foss_rust::{CellValue, Workbook};
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
// Create a new workbook (starts with one sheet, "Sheet1").
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("Hello")?;
cells.get("B1")?.put_value_i32(123)?;
cells.get("C1")?.put_value_bool(true)?;
cells.get("D1")?.put_value_decimal(12.5)?;
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
}
workbook.save("hello.xlsx")?;
// Load it back.
let loaded = Workbook::load_xlsx("hello.xlsx")?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();
println!("A1 = {}", cells.get("A1")?.display_string_value());
Ok(())
}
Nyissa meg a munkafüzeteket védekező módon a LoadOptions javítási jelzőkkel, és vizsgálja meg a struktúrált betöltési diagnosztikákat:
let options = LoadOptions {
try_repair_package: true,
try_repair_xml: true,
..LoadOptions::default()
};
let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();
println!("Saved: {}", valid_path.display());
println!(
"Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
loaded.get_worksheets().count(),
loaded.get_load_diagnostics().issues().len()
);
Töltsön fel egy adat tartományt, majd rögzítse hozzá az oszlop- és vonaldiagramokat:
let mut charts = sheet.get_charts();
charts.add(
ChartType::Column,
"Charts!$B$1:$B$13".to_string(),
0,
4,
18,
8,
)?;
charts.add(
ChartType::Line,
"Charts!$C$1:$C$13".to_string(),
0,
9,
18,
13,
)?;
A crate az MIT License alatt kerül kiadásra; a teljes szöveg a repozitóriumban LICENSE.txt fájlként érkezik.
Igen. Az MIT License engedélyezi a kereskedelmi felhasználást, módosítást és újraelosztást, feltéve, hogy a copyright és a licencértesítés megmarad.
Add aspose-cells-foss-rust a Cargo.toml-hez, mint git függőség a GitHub tárolóból.
XLSX, teljes körúti olvasás és írás a Workbook::load_xlsx és a save segítségével. A többi táblázatformátum nem támogatott a jelenlegi kiadásban.
Nem. A könyvtár közvetlenül olvassa és írja az XLSX csomagformátumot — nincs Office telepítés, COM automatizálás vagy külső futtatókörnyezet.