Aspose.Cells FOSS for Rust είναι μια ανοιχτού κώδικα βιβλιοθήκη για εργασία με Excel
XLSX φύλλα εργασίας σε εφαρμογές Rust. Παρέχει στους προγραμματιστές συστημάτων έναν εγγενή, ασφαλή ως προς τη μνήμη τρόπο για δημιουργία βιβλίων εργασίας από το μηδέν, φόρτωση υπαρχόντων αρχείων XLSX, τροποποίηση του περιεχομένου τους και αποθήκευση του αποτελέσματος — χωρίς Microsoft Office, αυτοματισμό COM ή οποιοδήποτε εξωτερικό runtime.
Το crate μοντελοποιεί το πλήρες δέντρο αντικειμένων του φύλλου εργασίας: Workbook, Worksheet και συλλογές κελιών με τύπους ρυθμιστών τιμής (put_value_string, put_value_i32, put_value_bool, put_value_decimal), τύπους με αποθηκευμένες τιμές μέσω put_formula_with_cached_value, διαγράμματα (Chart, ChartType), μορφοποίηση υπό συνθήκη (FormatCondition), επικύρωση δεδομένων (Validation), αυτόματους φίλτρους (AutoFilter), στυλ κελιών (CellStyle, Font, Fill, Borders), ρύθμιση σελίδας (PageSetup), εικόνες, σχήματα, σχόλια, υπερσυνδέσμους, πίνακες (ListObject), σπάρκιλιν (SparklineGroup), ορισμένα ονόματα και προστασία βιβλίου εργασίας/φύλλου εργασίας.
Aspose.Cells FOSS for Rust είναι αδειοδοτημένο υπό την άδεια MIT και στοχεύει στην έκδοση Rust 2021. Εγκαθίσταται ως τυπική εξάρτηση Cargo από το αποθετήριο GitHub — δείτε τον οδηγό εγκατάστασης για την ακριβή καταχώρηση Cargo.toml. Τα σφάλματα εκτίθενται μέσω συμβατικών τύπων Result (CellsError), και η φόρτωση XLSX προσφέρει επιλογές επισκευής (LoadOptions) με δομημένη διάγνωση (LoadDiagnostics). Για την οικογένεια προϊόντων επιχειρήσεων, δείτε Aspose.Cells — Enterprise Product Family.
Workbook::new ή φορτώστε υπάρχοντα αρχεία με Workbook::load_xlsxadd_worksheet, worksheet και των μεταβλητών συλλογών φύλλων εργασίαςsave, save_xlsx ή με ρητή μορφή save_with_formatput_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_timeput_formula_with_cached_valuedisplay_string_value και value_typeget, get_by_index)CellStyle με Font, Fill και BordersStyleFlagNumberFormatPageSetup (μέγεθος χαρτιού, προσανατολισμός, περιθώρια)FreezePane; έλεγχος ορατότητας γραμμών/στηλώνChartType στη συλλογή διαγραμμάτων του φύλλουChart, ChartCollection)Picture και σχήματα σχεδίασης με ShapeSparklineGroupFormatConditionValidation με OperatorTypeAutoFilter; δομημένοι πίνακες μέσω ListObjectDefinedName; προστασία μέσω WorkbookProtection και WorksheetProtectionLoadOptions και LoadDiagnosticsΔημιουργήστε ένα βιβλίο εργασίας, γράψτε τιμές με συγκεκριμένους τύπους και έναν τύπο με αποθηκευμένο αποτέλεσμα, αποθηκεύστε το ως XLSX και φορτώστε το ξανά:
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(())
}
Ανοίξτε τα βιβλία εργασίας με προφυλακτικό τρόπο χρησιμοποιώντας τις σημαίες επισκευής του LoadOptions και επιθεωρήστε τις δομημένες διαγνώσεις φόρτωσης:
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()
);
Συμπληρώστε ένα εύρος δεδομένων, στη συνέχεια αγκυρώστε τα γραφήματα στήλης και γραμμής σε αυτό:
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 διατίθεται υπό την άδεια MIT· το πλήρες κείμενο περιλαμβάνεται στο αποθετήριο ως LICENSE.txt.
Ναι. Η MIT License επιτρέπει εμπορική χρήση, τροποποίηση και αναδιανομή, εφόσον διατηρείται η ειδοποίηση πνευματικών δικαιωμάτων και η άδεια.
Προσθέστε το aspose-cells-foss-rust στο Cargo.toml σας ως εξάρτηση git από το αποθετήριο GitHub.
XLSX, με πλήρη ανάγνωση και εγγραφή σε πλήρη κύκλο μέσω Workbook::load_xlsx και save. Άλλες μορφές λογιστικών φύλλων δεν υποστηρίζονται στην τρέχουσα έκδοση.
Όχι. Η βιβλιοθήκη διαβάζει και γράφει απευθείας τη μορφή πακέτου XLSX — δεν απαιτείται εγκατάσταση του Office, αυτοματοποίηση COM ή εξωτερικό runtime.