Aspose.Cells FOSS for Rust è una libreria open-source per lavorare con fogli di calcolo Excel XLSX nelle applicazioni Rust. Offre ai programmatori di sistemi un modo nativo e sicuro dalla memoria per creare workbook da zero, caricare file XLSX esistenti, modificarne il contenuto e salvare il risultato — senza Microsoft Office, automazione COM o alcun runtime esterno.
Il crate modella l’intero albero di oggetti del foglio di calcolo: Workbook, Worksheet e collezioni di celle con impostatori di valore tipizzati (put_value_string, put_value_i32, put_value_bool, put_value_decimal), formule con valori cache tramite put_formula_with_cached_value, grafici (Chart, ChartType), formattazione condizionale (FormatCondition), convalida dei dati (Validation), filtri automatici (AutoFilter), stile delle celle (CellStyle, Font, Fill, Borders), impostazioni di pagina (PageSetup), immagini, forme, commenti, collegamenti ipertestuali, tabelle (ListObject), sparklines (SparklineGroup), nomi definiti e protezione del workbook/worksheet.
Aspose.Cells FOSS for Rust è rilasciato sotto licenza MIT e mira all’edizione Rust 2021. Si installa come dipendenza standard di Cargo dal repository GitHub — consulta la guida all’installazione per la voce esatta di Cargo.toml. Gli errori vengono restituiti tramite i consueti tipi Result (CellsError), e il caricamento di XLSX offre opzioni di riparazione (LoadOptions) con diagnostica strutturata (LoadDiagnostics). Per la famiglia di prodotti enterprise, vedi Aspose.Cells — Enterprise Product Family.
Workbook::new o carica file esistenti con Workbook::load_xlsxadd_worksheet, worksheet e collezioni di fogli modificabilisave, save_xlsx o save_with_format esplicito per il formatoput_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_timeput_formula_with_cached_valuedisplay_string_value e value_typeget, get_by_index)CellStyle con Font, Fill e BordersStyleFlagNumberFormatPageSetup (dimensione carta, orientamento, margini)FreezePane; controlla la visibilità di righe/colonneChartType nella collezione di grafici di un foglioChart, ChartCollection)Picture e forme di disegno con ShapeSparklineGroupFormatConditionValidation con OperatorTypeAutoFilter; tabelle strutturate tramite ListObjectDefinedName; protezione tramite WorkbookProtection e WorksheetProtectionLoadOptions e LoadDiagnosticsCrea una cartella di lavoro, scrivi valori tipizzati e una formula con un risultato memorizzato nella cache, salvala come XLSX e ricaricala:
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(())
}
Apri i workbook in modo difensivo con i flag di riparazione di LoadOptions e ispeziona le diagnosi di caricamento strutturate:
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()
);
Riempire un intervallo di dati, quindi ancorare i grafici a colonne e a linee a esso:
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,
)?;
Il crate è rilasciato sotto la MIT License; il testo completo è fornito nel repository come LICENSE.txt.
Sì. La MIT License consente l’uso commerciale, la modifica e la ridistribuzione, a condizione che il copyright e l’avviso di licenza siano conservati.
Aggiungi aspose-cells-foss-rust al tuo Cargo.toml come dipendenza git dal repository GitHub.
XLSX, con lettura e scrittura complete a ciclo completo tramite Workbook::load_xlsx e save. Altri formati di foglio di calcolo non sono supportati nella versione corrente.
No. La libreria legge e scrive direttamente il formato di pacchetto XLSX — non è necessaria alcuna installazione di Office, automazione COM o runtime esterno.