Aspose.Cells FOSS for Rust jest biblioteką open-source służącą do pracy z arkuszami kalkulacyjnymi Excel XLSX w aplikacjach Rust. Zapewnia programistom systemowym natywny, bezpieczny pod względem pamięci sposób tworzenia skoroszytów od podstaw, ładowania istniejących plików XLSX, modyfikowania ich zawartości i zapisywania wyniku — bez Microsoft Office, automatyzacji COM ani żadnego zewnętrznego środowiska uruchomieniowego.
Crate modeluje pełne drzewo obiektów arkusza kalkulacyjnego: Workbook, Worksheet oraz kolekcje komórek z typowanymi setterami wartości (put_value_string, put_value_i32, put_value_bool, put_value_decimal), formułami z buforowanymi wartościami za pomocą put_formula_with_cached_value, wykresami (Chart, ChartType), formatowaniem warunkowym (FormatCondition), walidacją danych (Validation), autofiltrem (AutoFilter), stylizacją komórek (CellStyle, Font, Fill, Borders), ustawieniami strony (PageSetup), obrazami, kształtami, komentarzami, hiperłączami, tabelami (ListObject), sparkline’ami (SparklineGroup), nazwami zdefiniowanymi oraz ochroną skoroszytu/arkusza.
Aspose.Cells FOSS for Rust jest licencjonowany na zasadach MIT i celuje w edycję Rust 2021. Instalowany jest jako standardowa zależność Cargo z repozytorium GitHub — zobacz przewodnik instalacji, aby uzyskać dokładny wpis Cargo.toml. Błędy są zgłaszane za pomocą konwencjonalnych typów Result (CellsError), a ładowanie XLSX oferuje opcje naprawy (LoadOptions) z ustrukturyzowaną diagnostyką (LoadDiagnostics). Dla rodziny produktów korporacyjnych zobacz Aspose.Cells — Enterprise Product Family.
Workbook::new lub wczytaj istniejące pliki przy użyciu Workbook::load_xlsxadd_worksheet, worksheet oraz mutowalnych kolekcji arkuszysave, save_xlsx lub jawnie określonego formatu save_with_formatput_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_timeput_formula_with_cached_valuedisplay_string_value i value_typeget, get_by_index)CellStyle z Font, Fill i BordersStyleFlagNumberFormatPageSetup (rozmiar papieru, orientacja, marginesy)FreezePane; kontrola widoczności wierszy/kolumnChartType w kolekcji wykresów arkuszaChart, ChartCollection)Picture oraz kształty rysunkowe za pomocą ShapeSparklineGroupFormatConditionValidation z OperatorTypeAutoFilter; tabele strukturalne za pomocą ListObjectDefinedName; ochrona za pomocą WorkbookProtection i WorksheetProtectionLoadOptions i LoadDiagnosticsUtwórz skoroszyt, zapisz wartości typowane oraz formułę z wynikiem w pamięci podręcznej, zapisz go jako XLSX i wczytaj ponownie:
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(())
}
Otwieraj skoroszyty w sposób defensywny, używając flag naprawczych LoadOptions i sprawdzaj strukturalne diagnostyki ładowania:
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()
);
Wypełnij zakres danych, a następnie zakotwicz wykresy kolumnowy i liniowy do niego:
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,
)?;
Crate jest wydany na licencji MIT; pełny tekst znajduje się w repozytorium jako LICENSE.txt.
Tak. Licencja MIT zezwala na komercyjne użycie, modyfikację i rozpowszechnianie, pod warunkiem zachowania informacji o prawach autorskich i notatki licencyjnej.
Dodaj aspose-cells-foss-rust do swojego Cargo.toml jako zależność git z repozytorium GitHub.
XLSX, z pełnym odczytem i zapisem w trybie round-trip przy użyciu Workbook::load_xlsx i save. Inne formaty arkuszy kalkulacyjnych nie są obsługiwane w bieżącym wydaniu.
Nie. Biblioteka odczytuje i zapisuje format pakietu XLSX bezpośrednio — nie wymaga instalacji Office, automatyzacji COM ani zewnętrznego środowiska uruchomieniowego.