Aspose.Cells FOSS for Rust — це бібліотека з відкритим кодом для роботи з Excel
XLSX-таблицями у застосунках на Rust. Вона надає системним програмістам
рідний, безпечний щодо пам’яті спосіб створювати книги з нуля, завантажувати існуючі
файли XLSX, змінювати їх вміст і зберігати результат — без Microsoft
Office, автоматизації COM чи будь-якого зовнішнього середовища виконання.
Пакет моделює повне дерево об’єктів електронної таблиці: 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; повний текст постачається в репозиторії як LICENSE.txt.
Так. MIT License дозволяє комерційне використання, модифікацію та розповсюдження, за умови збереження повідомлення про авторські права та ліцензійне повідомлення.
Додайте aspose-cells-foss-rust у ваш Cargo.toml як git-залежність з репозиторію GitHub.
XLSX, з повним циклом читання та запису через Workbook::load_xlsx та save. Інші формати електронних таблиць не підтримуються у поточному випуску.
Ні. Бібліотека читає та записує формат пакету XLSX безпосередньо — без встановлення Office, автоматизації COM або зовнішнього середовища виконання.